权限模型介绍Talos中认证/授权相关的概念和配置规则
PUT_MESSAGE = 1 // Message Write
GET_MESSAGE = 2 // Message Read
FULL_MESSAGE_CONTROL = 3 // Message R+W
DESCRIBE_TOPIC = 4 // Topic Read
PUT_MESSAGE_AND_DESCRIBE_TOPIC = 5 // Message Write & Topic Read
GET_MESSAGE_AND_DESCRIBE_TOPIC = 6 // Message Read & Topic Read
TOPIC_READ_AND_MESSAGE_FULL_CONTROL = 7 // Topic Read & Message R+W
CHANGE_TOPIC = 8 // Topic Write
FULL_TOPIC_CONTROL = 12 // Topic R+W
FULL_CONTROL = 15 // Topic & Message R+W
CHANGE_PERMISSION = 16 // Permission Admin
ADMIN = 31 // All Admin
使用Talos,client登录后认证的身份有以下几种:
以上身份对应的权限如下:
Topic Read & Message R+W
的权限,可由Developer进行授权,请注意上述权限中低于等于TOPIC_READ_AND_MESSAGE_FULL_CONTROL
的权限才允许被下放,Topic的Write和Permission操作等更高级的权限是不允许被下放,只有Topic的Owner身份Developer才具有这些高级权限每个使用Talos的用户都需要到小米开放平台申请开发者帐号,并创建云服务密钥,得到一组或几组App的AppKey和AppSecret,用以使用SDK时配置登录的Credential;
配置Credential进行登录时不同的身份对应着不同的用户类型,如下:
DEV_XIAOMI,Credential配置使用AccountKey/AccountSecret通过SDK签名认证,认证后身份为Developer,为其创建的所有Topic的Owner,拥有该开发者名下所有Topic的所有权限;
APP_SECRET,Credential配置使用AppKey/AppSecret通过SDK签名认证,认证后身份为AppRoot,需要Topic的Owner进行授权才具有相应的权限;
DEV_XIAOMI_SSO
APP_XIAOMI_SSO
APP_ACCESS_TOKEN,OAuth认证
APP_ANONYMOUS,匿名登录,认证后身份为应用终端的Guest,需要Owner的授权才能进行相应的访问;
在如下场景中可能会涉及到授权身份的配置问题,即使用Grantee的配置,如下说明
Grantee需要配置GrantType和Identifier,它们的对应关系如下: