Home Assistant Unofficial Reference 2024.12.1
homeassistant.components.auth.login_flow Namespace Reference

Classes

class  AuthProvidersView
 
class  LoginFlowBaseView
 
class  LoginFlowIndexView
 
class  LoginFlowResourceView
 
class  WellKnownOAuthInfoView
 

Functions

AuthFlowResult _prepare_result_json (AuthFlowResult result)
 
None async_setup (HomeAssistant hass, Callable[[str, Credentials], str] store_result)
 

Detailed Description

HTTP views handle login flow.

# GET /auth/providers

Return a list of auth providers. Example:

[
    {
        "name": "Local",
        "id": null,
        "type": "local_provider",
    }
]


# POST /auth/login_flow

Create a login flow. Will return the first step of the flow.

Pass in parameter 'client_id' and 'redirect_url' validate by indieauth.

Pass in parameter 'handler' to specify the auth provider to use. Auth providers
are identified by type and id.

And optional parameter 'type' has to set as 'link_user' if login flow used for
link credential to exist user. Default 'type' is 'authorize'.

{
    "client_id": "https://hassbian.local:8123/",
    "handler": ["local_provider", null],
    "redirect_url": "https://hassbian.local:8123/",
    "type': "authorize"
}

Return value will be a step in a data entry flow. See the docs for data entry
flow for details.

{
    "data_schema": [
        {"name": "username", "type": "string"},
        {"name": "password", "type": "string"}
    ],
    "errors": {},
    "flow_id": "8f7e42faab604bcab7ac43c44ca34d58",
    "handler": ["insecure_example", null],
    "step_id": "init",
    "type": "form"
}


# POST /auth/login_flow/{flow_id}

Progress the flow. Most flows will be 1 page, but could optionally add extra
login challenges, like TFA. Once the flow has finished, the returned step will
have type FlowResultType.CREATE_ENTRY and "result" key will contain an authorization code.
The authorization code associated with an authorized user by default, it will
associate with an credential if "type" set to "link_user" in
"/auth/login_flow"

{
    "flow_id": "8f7e42faab604bcab7ac43c44ca34d58",
    "handler": ["insecure_example", null],
    "result": "411ee2f916e648d691e937ae9344681e",
    "title": "Example",
    "type": "create_entry",
    "version": 1
}

Function Documentation

◆ _prepare_result_json()

AuthFlowResult homeassistant.components.auth.login_flow._prepare_result_json ( AuthFlowResult  result)
private
Convert result to JSON.

Definition at line 202 of file login_flow.py.

◆ async_setup()

None homeassistant.components.auth.login_flow.async_setup ( HomeAssistant  hass,
Callable[[str, Credentials], str]   store_result 
)
Component to allow users to login.

Definition at line 109 of file login_flow.py.