基于令牌的华为ID认证流程已废弃,对接AGConnectAuth的替代方案咨询
基于令牌的华为ID认证流程已废弃,对接AGConnectAuth的替代方案咨询
兄弟,我刚好踩过这个坑,给你说下官方现在推荐的替代方案~
之前依赖getAccessToken()和setAccessToken()的令牌流确实已经被废弃了,现在华为更推荐直接用AuthHuaweiId对象来创建AGConnectAuth凭证的方式,整个流程更简洁安全,不用再手动处理单独的token了。
具体操作步骤是这样的:
- 首先你还是通过华为ID认证服务完成登录,拿到
AuthHuaweiId实例(这一步和之前的登录触发逻辑差不多,只是不用再额外去获取token) - 直接调用
HwIdAuthProvider.credentialWithAuthHuaweiId(authHuaweiId)来生成AGConnectAuthCredential,这就是替代原来credentialWithToken的核心方法 - 最后还是用
AGConnectAuth.getInstance().signIn(credential)来完成和AGConnectAuth的对接,后续的登录成功/失败回调逻辑和之前基本一致
给你贴个代码示例更清楚:
// 假设你已经通过华为ID认证流程获取到了AuthHuaweiId实例 AuthHuaweiId authHuaweiId = ...; // 创建AGConnectAuth凭证(这是现在的核心替换点) AGConnectAuthCredential credential = HwIdAuthProvider.credentialWithAuthHuaweiId(authHuaweiId); // 执行AGConnectAuth登录 AGConnectAuth.getInstance().signIn(credential) .addOnSuccessListener(signInResult -> { // 这里写登录成功后的业务逻辑,比如获取用户信息等 }) .addOnFailureListener(e -> { // 登录失败的异常处理 });
为啥要这么改呢?主要是华为把用户的认证信息都统一封装到AuthHuaweiId里了,不用开发者再手动管理token的获取、刷新这些细节,既减少了出错的可能,也提升了认证的安全性。
内容来源于stack exchange
相关产品推荐
相关产品推荐

