Public Member Functions | |
| None | __init__ (self, HomeAssistant hass, auth_store.AuthStore store, _ProviderDict providers, _MfaModuleDict mfa_modules) |
| None | async_activate_user (self, models.User user) |
| str | async_create_access_token (self, models.RefreshToken refresh_token, str|None remote_ip=None) |
| models.RefreshToken | async_create_refresh_token (self, models.User user, str|None client_id=None, str|None client_name=None, str|None client_icon=None, str|None token_type=None, timedelta access_token_expiration=ACCESS_TOKEN_EXPIRATION, models.Credentials|None credential=None) |
| models.User | async_create_system_user (self, str name, *list[str]|None group_ids=None, bool|None local_only=None) |
| models.User | async_create_user (self, str name, *list[str]|None group_ids=None, bool|None local_only=None) |
| None | async_deactivate_user (self, models.User user) |
| None | async_disable_user_mfa (self, models.User user, str mfa_module_id) |
| None | async_enable_user_mfa (self, models.User user, str mfa_module_id, Any data) |
| dict[str, str] | async_get_enabled_mfa (self, models.User user) |
| models.Group|None | async_get_group (self, str group_id) |
| models.User | async_get_or_create_user (self, models.Credentials credentials) |
| models.User|None | async_get_owner (self) |
| models.RefreshToken|None | async_get_refresh_token (self, str token_id) |
| models.RefreshToken|None | async_get_refresh_token_by_token (self, str token) |
| models.User|None | async_get_user (self, str user_id) |
| models.User|None | async_get_user_by_credentials (self, models.Credentials credentials) |
| list[models.User] | async_get_users (self) |
| None | async_link_user (self, models.User user, models.Credentials credentials) |
| CALLBACK_TYPE | async_register_revoke_token_callback (self, str refresh_token_id, CALLBACK_TYPE revoke_callback) |
| None | async_remove_credentials (self, models.Credentials credentials) |
| None | async_remove_refresh_token (self, models.RefreshToken refresh_token) |
| None | async_remove_user (self, models.User user) |
| None | async_set_expiry (self, models.RefreshToken refresh_token, *bool enable_expiry) |
| None | async_setup (self) |
| None | async_update_user (self, models.User user, str|None name=None, bool|None is_active=None, list[str]|None group_ids=None, bool|None local_only=None) |
| None | async_update_user_credentials_data (self, models.Credentials credentials, dict[str, Any] data) |
| models.RefreshToken|None | async_validate_access_token (self, str token) |
| None | async_validate_refresh_token (self, models.RefreshToken refresh_token, str|None remote_ip=None) |
| list[MultiFactorAuthModule] | auth_mfa_modules (self) |
| list[AuthProvider] | auth_providers (self) |
| MultiFactorAuthModule|None | get_auth_mfa_module (self, str module_id) |
| AuthProvider|None | get_auth_provider (self, str provider_type, str|None provider_id) |
| list[AuthProvider] | get_auth_providers (self, str provider_type) |
Public Attributes | |
| hass | |
| login_flow | |
Private Member Functions | |
| None | _async_cancel_expiration_schedule (self) |
| AuthProvider|None | _async_get_auth_provider (self, models.Credentials credentials) |
| None | _async_remove_expired_refresh_tokens (self, datetime|None _=None) |
| AuthProvider|None | _async_resolve_provider (self, models.RefreshToken refresh_token) |
| None | _async_track_next_refresh_token_expiration (self) |
| None | _async_unregister (self, set[CALLBACK_TYPE] callbacks, CALLBACK_TYPE callback_) |
| bool | _user_should_be_owner (self) |
Private Attributes | |
| _expire_callback | |
| _mfa_modules | |
| _providers | |
| _remove_expired_job | |
| _store | |
Manage the authentication for Home Assistant.
Definition at line 174 of file __init__.py.
| None homeassistant.auth.AuthManager.__init__ | ( | self, | |
| HomeAssistant | hass, | ||
| auth_store.AuthStore | store, | ||
| _ProviderDict | providers, | ||
| _MfaModuleDict | mfa_modules | ||
| ) |
Initialize the auth manager.
Definition at line 177 of file __init__.py.
|
private |
Cancel tracking of expired refresh tokens.
Definition at line 571 of file __init__.py.
|
private |
Get auth provider from a set of credentials.
Definition at line 683 of file __init__.py.
|
private |
Remove expired refresh tokens.
Definition at line 546 of file __init__.py.
|
private |
Get the auth provider for the given refresh token. Raises an exception if the expected provider is no longer available or return None if no provider was expected for this refresh token.
Definition at line 618 of file __init__.py.
|
private |
Initialise all token expiration scheduled tasks.
Definition at line 555 of file __init__.py.
|
private |
Unregister a callback.
Definition at line 578 of file __init__.py.
|
private |
Determine if user should be owner. A user should be an owner if it is the first non-system user that is being created.
Definition at line 693 of file __init__.py.
| None homeassistant.auth.AuthManager.async_activate_user | ( | self, | |
| models.User | user | ||
| ) |
Activate a user.
Definition at line 396 of file __init__.py.
| str homeassistant.auth.AuthManager.async_create_access_token | ( | self, | |
| models.RefreshToken | refresh_token, | ||
| str | None | remote_ip = None |
||
| ) |
Create a new access token.
Definition at line 597 of file __init__.py.
| models.RefreshToken homeassistant.auth.AuthManager.async_create_refresh_token | ( | self, | |
| models.User | user, | ||
| str | None | client_id = None, |
||
| str | None | client_name = None, |
||
| str | None | client_icon = None, |
||
| str | None | token_type = None, |
||
| timedelta | access_token_expiration = ACCESS_TOKEN_EXPIRATION, |
||
| models.Credentials | None | credential = None |
||
| ) |
Create a new refresh token for a user.
Definition at line 451 of file __init__.py.
| models.User homeassistant.auth.AuthManager.async_create_system_user | ( | self, | |
| str | name, | ||
| *list[str] | None | group_ids = None, |
||
| bool | None | local_only = None |
||
| ) |
Create a system user.
Definition at line 262 of file __init__.py.
| models.User homeassistant.auth.AuthManager.async_create_user | ( | self, | |
| str | name, | ||
| *list[str] | None | group_ids = None, |
||
| bool | None | local_only = None |
||
| ) |
Create a user.
Definition at line 282 of file __init__.py.
| None homeassistant.auth.AuthManager.async_deactivate_user | ( | self, | |
| models.User | user | ||
| ) |
Deactivate a user.
Definition at line 400 of file __init__.py.
| None homeassistant.auth.AuthManager.async_disable_user_mfa | ( | self, | |
| models.User | user, | ||
| str | mfa_module_id | ||
| ) |
Disable a multi-factor auth module for user.
Definition at line 429 of file __init__.py.
| None homeassistant.auth.AuthManager.async_enable_user_mfa | ( | self, | |
| models.User | user, | ||
| str | mfa_module_id, | ||
| Any | data | ||
| ) |
Enable a multi-factor auth module for user.
Definition at line 415 of file __init__.py.
| dict[str, str] homeassistant.auth.AuthManager.async_get_enabled_mfa | ( | self, | |
| models.User | user | ||
| ) |
List enabled mfa modules for user.
Definition at line 443 of file __init__.py.
| models.Group | None homeassistant.auth.AuthManager.async_get_group | ( | self, | |
| str | group_id | ||
| ) |
Retrieve all groups.
Definition at line 247 of file __init__.py.
| models.User homeassistant.auth.AuthManager.async_get_or_create_user | ( | self, | |
| models.Credentials | credentials | ||
| ) |
Get or create a user.
Definition at line 306 of file __init__.py.
| models.User | None homeassistant.auth.AuthManager.async_get_owner | ( | self | ) |
Retrieve the owner.
Definition at line 242 of file __init__.py.
| models.RefreshToken | None homeassistant.auth.AuthManager.async_get_refresh_token | ( | self, | |
| str | token_id | ||
| ) |
Get refresh token by id.
Definition at line 518 of file __init__.py.
| models.RefreshToken | None homeassistant.auth.AuthManager.async_get_refresh_token_by_token | ( | self, | |
| str | token | ||
| ) |
Get refresh token by token.
Definition at line 523 of file __init__.py.
| models.User | None homeassistant.auth.AuthManager.async_get_user | ( | self, | |
| str | user_id | ||
| ) |
Retrieve a user.
Definition at line 238 of file __init__.py.
| models.User | None homeassistant.auth.AuthManager.async_get_user_by_credentials | ( | self, | |
| models.Credentials | credentials | ||
| ) |
Get a user by credential, return None if not found.
Definition at line 251 of file __init__.py.
| list[models.User] homeassistant.auth.AuthManager.async_get_users | ( | self | ) |
Retrieve all users.
Definition at line 234 of file __init__.py.
| None homeassistant.auth.AuthManager.async_link_user | ( | self, | |
| models.User | user, | ||
| models.Credentials | credentials | ||
| ) |
Link credentials to an existing user.
Definition at line 335 of file __init__.py.
| CALLBACK_TYPE homeassistant.auth.AuthManager.async_register_revoke_token_callback | ( | self, | |
| str | refresh_token_id, | ||
| CALLBACK_TYPE | revoke_callback | ||
| ) |
Register a callback to be called when the refresh token id is revoked.
Definition at line 585 of file __init__.py.
| None homeassistant.auth.AuthManager.async_remove_credentials | ( | self, | |
| models.Credentials | credentials | ||
| ) |
Remove credentials.
Definition at line 406 of file __init__.py.
| None homeassistant.auth.AuthManager.async_remove_refresh_token | ( | self, | |
| models.RefreshToken | refresh_token | ||
| ) |
Delete a refresh token.
Definition at line 530 of file __init__.py.
| None homeassistant.auth.AuthManager.async_remove_user | ( | self, | |
| models.User | user | ||
| ) |
Remove a user.
Definition at line 347 of file __init__.py.
| None homeassistant.auth.AuthManager.async_set_expiry | ( | self, | |
| models.RefreshToken | refresh_token, | ||
| *bool | enable_expiry | ||
| ) |
Enable or disable expiry of a refresh token.
Definition at line 539 of file __init__.py.
| None homeassistant.auth.AuthManager.async_setup | ( | self | ) |
Set up the auth manager.
Definition at line 196 of file __init__.py.
| None homeassistant.auth.AuthManager.async_update_user | ( | self, | |
| models.User | user, | ||
| str | None | name = None, |
||
| bool | None | is_active = None, |
||
| list[str] | None | group_ids = None, |
||
| bool | None | local_only = None |
||
| ) |
Update a user.
Definition at line 361 of file __init__.py.
| None homeassistant.auth.AuthManager.async_update_user_credentials_data | ( | self, | |
| models.Credentials | credentials, | ||
| dict[str, Any] | data | ||
| ) |
Update credentials data.
Definition at line 390 of file __init__.py.
| models.RefreshToken | None homeassistant.auth.AuthManager.async_validate_access_token | ( | self, | |
| str | token | ||
| ) |
Return refresh token if an access token is valid.
Definition at line 652 of file __init__.py.
| None homeassistant.auth.AuthManager.async_validate_refresh_token | ( | self, | |
| models.RefreshToken | refresh_token, | ||
| str | None | remote_ip = None |
||
| ) |
Validate that a refresh token is usable. Will raise InvalidAuthError on errors.
Definition at line 641 of file __init__.py.
| list[MultiFactorAuthModule] homeassistant.auth.AuthManager.auth_mfa_modules | ( | self | ) |
Return a list of available auth modules.
Definition at line 212 of file __init__.py.
| list[AuthProvider] homeassistant.auth.AuthManager.auth_providers | ( | self | ) |
Return a list of available auth providers.
Definition at line 207 of file __init__.py.
| MultiFactorAuthModule | None homeassistant.auth.AuthManager.get_auth_mfa_module | ( | self, | |
| str | module_id | ||
| ) |
Return a multi-factor auth module, None if not found.
Definition at line 230 of file __init__.py.
| AuthProvider | None homeassistant.auth.AuthManager.get_auth_provider | ( | self, | |
| str | provider_type, | ||
| str | None | provider_id | ||
| ) |
Return an auth provider, None if not found.
Definition at line 216 of file __init__.py.
| list[AuthProvider] homeassistant.auth.AuthManager.get_auth_providers | ( | self, | |
| str | provider_type | ||
| ) |
Return a List of auth provider of one type, Empty if not found.
Definition at line 222 of file __init__.py.
|
private |
Definition at line 564 of file __init__.py.
|
private |
Definition at line 188 of file __init__.py.
|
private |
Definition at line 187 of file __init__.py.
|
private |
Definition at line 192 of file __init__.py.
|
private |
Definition at line 186 of file __init__.py.
| homeassistant.auth.AuthManager.hass |
Definition at line 185 of file __init__.py.
| homeassistant.auth.AuthManager.login_flow |
Definition at line 189 of file __init__.py.