您的位置:  首页 > 技术杂谈 > 正文

3分钟了解如何跨应用、跨形态无缝登录

2022-01-11 12:00 https://my.oschina.net/HMSCore/blog/5395369 HMS Core 次阅读 条评论

一、 功能盘点

Q1:什么是钥匙环服务

A:钥匙环服务是HMS Core对国内外开发者开放的技术服务,提供用户认证凭据本地存储,和跨应用、跨形态共享能力,帮助用户在安卓应用、快应用、Web应用之间构建无缝登录体验。(“用户认证凭据”以下简称“凭据”)

跨应用登录示例

用户在已登录应用A的状态下,打开同一开发者旗下的应用B,无需输入帐号密码,实现直接登录应用B.

跨形态登录示例

以电商应用为例,用户在安卓应用登录之后,收到促销短信,用华为浏览器点开短信链接,Web应用直接处于登录状态,挑选心仪商品直接付款,完成下单。

Q2:钥匙环服务可以帮助我的用户在任意两款App之间共享用户认证凭据吗?

A:钥匙环服务能够帮助用户在同一公司旗下开发的App之间共享凭据

Q3:凭据在应用之间的授权关系是可以继承,还是只能点对点授权?

A:没有继承关系,只能点对点的授权,例如,A授权给B、C、D、E,B不能转授权给F、G。

Q4:如果我的用户需要退出帐号,可以在钥匙环服务中删除凭据吗?

A:可以,钥匙环服务向开发者提供删除和更新的API。

Q5:如果我的用户拥有多个帐号,这种情况钥匙环服务如何识别用哪个帐号登录?

A:钥匙环服务可以存储多个凭据,建议产品提供确认界面,让用户自主选择登录帐号。

二、 技术深入解读

Q1:钥匙环服务是如何将凭据从安卓应用共享到快应用的?

A:当用户登录到您的应用之后,凭据将被保存在钥匙环服务中,已登录的应用将这些凭据授权共享给其它受信任的快应用或web应用。

Q2:钥匙环服务是怎么实现支持这么多应用形态的?

A:对于不同的应用形态,钥匙环服务提供对应的接口:钥匙环服务为安卓应用提供Android API,为快应用提供快应用API,为Web应用提供Web API。

Q3:把我的用户凭据存储在钥匙环服务中,安全吗?

A:凭据在可信执行环境(TEE)中随机生成的密钥进行加密,每个设备的密钥均不相同,而且密钥只能在TEE内使用,无法离开设备,华为也不掌握密钥的内容,支持凭据在本地安全存储。

Q4:应用保存凭据之后,用户下次直接处于登录状态时,会有提示吗?

A: 钥匙环服务SDK提供无界面的凭据读取接口,安卓应用可以直接读取到凭据内容,您可以自行决定是否提示用户:以某应用的帐号登录。

Q5:钥匙环服务如何验证请求读取凭据的应用身份信息,怎么确定不是仿冒应用呢?

A:钥匙环服务能够通过验证安卓应用的APK包名、快应用的包名和证书HASH,或者获取当前网页的真实URL作为身份信息等方式,认证读写凭据的APK或网站的真实身份,防止凭据被仿冒的程序或网站盗用,从而加强共享凭据过程中的安全性。

三、隐私政策问答

Q1:钥匙环服务符合用户隐私政策吗?

A:符合,关于 HMS Core 与隐私的声明中已对钥匙环服务自身的隐私声明约束做出说明。

Q2:我的App是否需要告知用户帮助TA保管凭证?

A:使用钥匙环服务过程中,用户凭据始终保存在用户设备本地,不上传服务器,用户仍是实际数据控制者,华为不能主动对用户凭据做修改、删除等影响凭据安全的操作,其次HMS Core隐私声明已做过说明,故您的App不需要再告知用户。

Q3:非华为设备上使用钥匙环服务,我的App是否需要获取用户同意?

A:当用户在非华为设备上使用钥匙环服务时,会关联启动HMS Core应用,对此您需要向用户明示并获取其同意;用户在华为设备上使用钥匙环服务则无需单独获取同意。

扫码获取接入指南

了解更多详情>>

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

展开阅读全文
  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接