HarmonyOS 鸿蒙Next 华为登录成功,但是authAccountTask.getResult()返回的token一直为null

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 华为登录成功,但是authAccountTask.getResult()返回的token一直为null

Task<AuthAccount> authAccountTask = AccountAuthManager.parseAuthResultFromIntent(data);
if (authAccountTask.isSuccessful()) {
AuthAccount authAccount = authAccountTask.getResult();
Log.e(TAG, "authAccount is " + authAccount);
Log.e(TAG, “getAuthorizationCode:” + authAccount.getAuthorizationCode());
Log.e(TAG, “getIdToken:” + authAccount.getIdToken());
Log.e(TAG, "name is " + authAccount.getDisplayName());
Log.e(TAG, "token is " + authAccount.getAccessToken());
} else {
Log.i(TAG, "signIn failed: " + ((ApiException) authAccountTask.getException()).getStatusCode());
}

QQ20240628-193918.png

2 回复

开发者您好:

您的Token为空

比如:getIdToken为空,您可以看下在初始化AccountAuthParams的时候,

参数里面AccountAuthParamsHelper是否有设置setIdToken(),API文档:https://developer.huawei.com/consumer/cn/doc/HMSCore-References/accountauthparamshelper-0000001050438849#section7927324133511

另外AccountAuthParamsHelper里面的setAccessToken()方法已经弃用,不建议您这边继续调用,如果您这边需要获取AccessToken,需要调用服务端的接口去使用授权拿到的code去换AccessToken,可以参考文档:https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides/android-scenario-auth-code-0000001115918596#section170912213116

针对您提到的HarmonyOS鸿蒙Next平台上登录成功后,authAccountTask.getResult()返回的token一直为null的问题,这通常与权限配置、认证流程或API使用不当有关。以下是一些可能的原因及检查方向:

  1. 权限配置:确保您的应用已在config.json中正确配置了所需的权限,特别是与账户和认证相关的权限。

  2. 认证流程:检查您的登录流程是否符合HarmonyOS的认证规范。确保您使用了正确的API和参数进行账户认证。

  3. API使用authAccountTask.getResult()应在任务成功完成后调用。确认任务状态为成功,并且任务确实返回了结果。

  4. 版本兼容性:确认您的开发环境和HarmonyOS SDK版本是否最新,以及是否支持您正在使用的API。

  5. 日志调试:通过查看系统日志或应用日志,获取更多关于认证失败或token未返回的详细信息。

如果以上检查均无误,但问题依旧存在,可能是由于系统bug或特定环境下的异常。此时,建议您直接联系官网客服,以便获得更专业的技术支持。官网地址是:https://www.itying.com/category-93-b0.html

回到顶部