跳转至

用户与认证

《HomeAssistant智能家居实战篇》视频

用户类型

  • 所有者(Owner)

    • 有且仅有一个,在第一次访问系统时创建
    • 拥有系统内全部的权限
  • 管理员(Administrators)

    • 与所有者权限几乎一样
    • 没有修改其它用户密码的权力
  • 普通用户(Users)

    • 没有系统管理的权限
    • 拥有设备查看与操作的权限

忘记密码怎么办?

  1. 所有者在前端界面修改密码

    菜单:配置-用户

    需要打开高级模式,才能显示用户菜单

  2. ha命令行(仅限在操作系统命令行中)

    ha auth reset --username pi --password hachina1234

  3. 直接删除配置文件

    删除/config/.storage目录下文件:

    • auth*
    • onboarding
    • cloud
    • hassio

    如果这种方法失败,需要删除/config/.storage整个目录内容

    这种方法会删除系统中的用户,以及其它配置

多因素认证(Multi-factor Authentication)

  • 时间同步一次性密码

    手机APP中每30秒变更一个当时可以使用的密码

    需要安装以下APP中的一个:

  • 通知消息动态密码

    随机生成密码,通过HomeAssistant本身配置的消息组件发送

    https://www.home-assistant.io/docs/authentication/multi-factor-auth/#notify-multi-factor-authentication-module

    在HomeAssistant中,无法判断发送的消息是否确实成功接收,因此这种方式比较少用

用户认证模式

  • homeassistant

    缺省的认证模式

  • trusted_networks

    信任来自某个网络地址的访问,不需要输入密码

  • command_line

    将用户输入的用户名和密码发送给指定的可执行程序,由该程序判断是否通过认证

  • legacy_api_password

    很早以前HomeAssistant的认证方式

一个配置样例:

# configuration.yaml
homeassistant:
  auth_providers:
    - type: homeassistant
    - type: trusted_networks
      trusted_networks:
        - 192.168.3.0/24

令牌(token)

  • 刷新令牌(Refresh)
  • 长期访问令牌(Long-Lived Access Tokens)

返回课程目录↩