【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit(5)
1.问题描述:
集成华为一键登录的LoginWithHuaweiIDButton,
但是Button默认名字叫 “华为账号一键登录”,太长无法显示,能否简写成“一键登录”与其他端一致?
解决方案:
问题分两个场景:
一、华为账号与开发者应用从未关联:
1、华为账户从来没有绑定过开发者应用, 这个时候 因为这个用户的唯一标识未在开发者应用的数据库中, 所以必须要通过华为账户一键登录界面(单独界面) 登录;
二、华为账号与开发者应用已关联:
1、如果华为账户绑定过开发者应用, 那么这个华为账户用户的唯一标识以及手机号等是存在于开发者应用的数据库中的;
2、在开发者应用的 “我的”Tab页, 开发者应用可以获取到用户的唯一标识(通过controller.executeRequest接口);
3、后续流程开发者应用可以结合风控、安全因素以及自身业务场景判断,是面用户操作静默登录还是展示一个 自定义的按钮 , 让用户再点击一次;
业务流程中的第三步有相关的介绍:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/account-phone-unionid-login-V5#section15857192215104
2.问题描述:
如何不通过LoginWithHuaweiIDButton拿到AuthCode?
解决方案:
1、端侧在获取匿名化手机号时可以添加一个permissions,permissions的值为:[‘serviceauthcode’]; authRequest.permissions = [‘serviceauthcode’]
2、这样端侧就可以拿到一个临时授权码authorizationCode;
请参考示例代码:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/account-phone-unionid-login-V13#section44701937172920
3.问题描述:
华为一键登录中,如果判断用户是否和当前应用关联
华为知道链接:https://3ms.huawei.com/hi/newask/?l=zh-cn#/question?questionId=1868941977271775232
解决方案:
在展示一键登录的页面之前 可以通过controller.executeRequest()方法获取到用户的唯一标识 openid或unionid。应用可以通过openid或unionid自行判断此用户是否已关联了自己的应用
4.问题描述:
跳转『华为账号用户认证协议』发现加载特别慢
https://privacy.consumer.huawei.com/legal/id/authentication-terms.htm?code=CN&language=zh-CN
解决方案:
建议使用这个链接:https://legal.cloud.huawei.com/terms/scope/huawei/id/authentication-terms.htm?code=CN&language=zh-CN