身份验证提供商
身份验证提供程序负责确认用户的身份。用户通过该提供程序发起的登录流程来证明自己的身份。身份验证提供程序定义了登录方式,并可以向用户询问所需的全部信息,通常包括用户名和密码,也可能包括 2FA 令牌或其他验证方式。
一旦身份验证提供程序确认了用户身份,就会以 Credentials 对象的形式将结果提交给 Home Assistant。
定义身份验证提供者
Info
目前仅支持内置身份验证提供程序。未来可能会支持自定义身份验证提供程序。
身份验证提供程序定义在 homeassistant/auth/providers/<name of provider>.py 中。身份验证提供程序模块需要实现 AuthProvider 类和 LoginFlow 类;后者会向用户收集信息,并基于 data_entry_flow 执行验证。
完整的身份验证提供程序实现示例请参阅 insecure_example.py。
身份验证提供程序需要实现 AuthProvider 类中的以下方法。
身份验证提供程序还需要实现 LoginFlow 类中的以下方法。
LoginFlow 的 async_step_init
Info
我们可能会在不久的将来更改此界面。
LoginFlow 继承自 data_entry_flow.FlowHandler。数据录入流程的第一步固定为 init,因此每个流程都必须实现 async_step_init 方法。async_step_init 的基本模式如下伪代码:

