HarmonyOS 鸿蒙Next应用使用华为账号登录

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

HarmonyOS 鸿蒙Next应用使用华为账号登录

使用“华为账号登录”按钮登录获取到的code调用用户级凭证拿到的Access Token调用获取用户信息接口为什么拿不到用户的头像昵称这些信息

必须使用authentication模块进行授权获取到的code调用用户级凭证拿到的Access Token调用获取用户信息接口才能拿到吗


更多关于HarmonyOS 鸿蒙Next应用使用华为账号登录的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

是的,只能使用authentication模块进行授权获取到的code调用用户级凭证拿到的Access Token调用获取用户信息接口才能拿。因为头像昵称有权限管控的,已经登录的token没头像昵称权限。

1、需要应用服务器获取凭证Access Token的接口向华为账号服务器请求获取Access Token、Refresh Token,使用Access Token调用获取用户信息接口获取用户信息。

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/account-phone-unionid-login-V5#section286103315177

2、应用服务器使用Client ID、Client Secret、Authorization Code调用获取凭证Access Token的接口向华为帐号服务器请求获取Access Token、Refresh Token。

参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/account-get-avatar-nickname-V5

3、使用Access Token调用获取用户信息接口获取用户信息,从用户信息中获取用户头像昵称。

获取用户信息文档参考:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/account-api-get-user-info-V5

4、传入的时候需要给出profile

// 创建授权请求,并设置参数
let authRequest = new authentication.HuaweiIDProvider().createAuthorizationWithHuaweiIDRequest();
// 获取头像昵称需要传如下scope
authRequest.scopes = ['profile'];
// 若开发者需要进行服务端开发,则需传如下permission获取authorizationCode
authRequest.permissions = ['serviceauthcode'];
// 用户是否需要登录授权,该值为true且用户未登录或未授权时,会拉起用户登录或授权页面
authRequest.forceAuthorization = true;
authRequest.state = util.generateRandomUUID();

更多关于HarmonyOS 鸿蒙Next应用使用华为账号登录的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


关于HarmonyOS鸿蒙Next应用使用华为账号登录的问题,以下是一些专业解答:

HarmonyOS鸿蒙Next应用若支持第三方账号登录,则必须提供华为账号登录选项,但银行业金融机构的原生应用和元服务在用户需要使用其特定账号登录时除外。华为账号登录的UX规范要求了“华为账号快速登录”按钮的样式,包括多种按钮风格和类型,开发者可以使用LoginWithHuaweiIDButton高级组件实现登录,也可以按照规范要求自定义按钮。

此外,HarmonyOS鸿蒙Next手机模拟器在正常使用时,通常不需要每次都授权华为账号登录,模拟器会默认携带上一次运行时的用户数据,包括已登录的账号信息。如果遇到点击“前往登陆”无响应的情况,建议检查网络连接、防火墙设置以及华为账号的激活状态。

如果在使用华为账号登录HarmonyOS鸿蒙Next应用时遇到其他问题,建议参考华为开发者官网的官方文档,或尝试重启模拟器/设备、更新模拟器版本等方法。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部