首页 > 其他分享 >【华为账号服务】【FAQ】Account Kit常见咨询合集--获取帐号个人信息相关问题

【华为账号服务】【FAQ】Account Kit常见咨询合集--获取帐号个人信息相关问题

时间:2022-08-31 08:56:03浏览次数:79  
标签:Account 帐号 -- FAQ Email 获取 Token ID String

 1、Access Token和Refresh Token最长会有多长?

Access Token和Refresh Token的长度与其中编码的信息有关,目前来讲Access Token和Refresh Token的长度不会超过1024字符。

2、调用获取Access Token的接口时,是否有次数和频率限制?

单个App在一小时内最多允许10000次调用,超过限制将获取Token失败。

3、为什么帐号中存在Email信息,但是服务端调用/oauth2/v3/tokeninfo接口后在响应中却没有Email信息?

问题描述

集成Account Kit,获取ID Token,调用服务侧的/oauth2/v3/tokeninfo接口后,发现不能在响应体中获取响应字段的Email信息。

得到的响应如下:

{
    "at_hash": "XXXXXX",
    "aud": "XXXXXX",
    "sub": "XXXXXX",
    "azp": "XXXXXX",
    "kid": "XXXXXX",
    "iss": "https://accounts.huawei.com",
    "typ": "JWT",
    "exp": 1579682457,
    "display_name": "136******53",
    "iat": XXXXXX,
    "alg": "RS256"
}

接口指导中的响应如下所示:

{
    "iss":"String",
    "sub":"String",
    "aud":"String",
    "exp":"Long",
    "iat":"Long",
    "nonce":"String",
    "at_hash":"String",
    "azp":"String",
    "email_verified":"Boolean",
    "email":"String",
    "picture":"String",
    "name":"String",
    "locale":"String",
    "family_name":"String",
    "given_name":"String",
    "display_name":"String"
}

可能原因

在获取ID Token前,未请求华为帐号用户授权应用获取Email地址。

处理步骤

在端侧的代码中提前添加请求华为帐号用户授权应用获取Email地址的操作。

3.0版本的授权请求接口为requestEmail();4.0版本授权请求接口为setEmail()。

HMS Core SDK 3.0版本

HuaweiIdSignInOptions mSignInOptions = new HuaweiIdSignInOptions.Builder(HuaweiIdSignInOptions.DEFAULT_SIGN_IN).requestServerAuthCode().requestIdToken("").requestEmail().build();

HMS Core SDK 4.0版本

HuaweiIdAuthParams authParams = new HuaweiIdAuthParamsHelper(HuaweiIdAuthParams.DEFAULT_AUTH_REQUEST_PARAM).setIdToken().setEmail().createParams();

说明

请求华为帐号用户授权应用获取相应信息的详情请参见HuaweiIdAuthParamsHelpersetEmail

 

4、当使用jwt.io校验ID Token时,是否需要提供私钥?

解析ID Token不需要私钥,校验ID Token也不需要私钥。

5、示例代码中的ID Token客户端校验的代码运行后报错,提示:id Token validate failed.NoSuchMethodError?

ID Token能正常演示的最小版本为Android 9,请排查测试手机上的版本是否符合要求。

6、为什么配置正确,但是在端侧回调成功后的帐号信息里调用getEmail()获取不到Email信息?

Email信息并不是必填字段,请登录帐号中心确认用户的帐号信息中是否包含Email信息。

7、验证ID Token有效性中的公钥具体的更新策略是什么?什么时间点更新?更新后我缓存的旧公钥是不是就不能用了?

验证ID Token有效性中的公钥每天更新一次,应用服务器可以缓存公钥的值。若公钥失效,旧公钥不可用,请在certs网站上获取最新的公钥,并更新应用服务器缓存的旧公钥。

8、接入华为帐号,是否可以获取UID?

不可以,由于需要隐私保护,接入华为帐号后只能获取openId。

 

9、openId和unionId的长度问题?

openId:当前非固定长度,最大允许长度256,需进行三倍冗余考虑,不推荐进行长度限制。

unionId:当前固定长度46,最大允许长度64,需进行三倍冗余考虑,不推荐进行长度限制。

说明

unionId和openId的区别在于,如果开发者帐号下管理了多个应用,针对同一个华为帐号,不同的应用返回的openId值不同,但返回的unionId相同。如果开发者需要在不同应用中共享同一个华为帐号的用户信息,可以使用unionId作为用户标识。

 

10、Access Token和Refresh Token的有效时长是多久?

Access Token的有效时长是1个小时,Refresh Token的有效时长是180天。

 

 

PS:这是根据官方目前的FAQ整理,如有变动,大家以官网发布的为准哦!

欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

标签:Account,帐号,--,FAQ,Email,获取,Token,ID,String
From: https://www.cnblogs.com/developer-huawei/p/16641708.html

相关文章

  • 【FAQ】【ARK UI】鸿蒙应用跳转至应用商店
    ​ 【问题描述】js或者ETS怎么跳转到应用商店 【问题答案】参考链接鸿蒙应用跳转至应用商店【HarmonyOS】【ARKUI】ets使用startAbility或startAbilityForResult......
  • Codeforces Round #817 (Div. 4)E Counting Rectangles
    CountingRectangles思维把所有的矩形左上角都叠在一起,就会发现是一个二维前缀和的求解问题:\(\sum_{i=h_s+1}^{h_b-1}\sum_{j=w_s+1}^{w_b-1}(i*j*cnt_{ij})\)这个显......
  • 【HMS core】【FAQ】音频编辑服务、推送服务、AR Engine典型问题合集
    ​1、【HMScore】【音频编辑服务】【问题描述】检查网络没问题,但音频编辑sdk空间渲染功能报错,错误码1007 【原因分析】根据日志打印信息来看,是在点击“空间渲染”功......
  • 【AGC】云存储如何上传文件?是否可以自行开通?云存储的相关问题,来这里看看!
    ​1、【问题描述】云存储为什么无法上传文件夹只能上传文件?【解决方案】云存储不支持上传文件夹,您可以在存储实例中手动新增文件夹。​ 2、【问题描述】请问云存储......
  • 桌面软件图标变白
    解决方法1、打开磁盘文件管理器,这里以C盘文件为例,把文件设置成显示所有文件2、在菜单栏中点击查看,然后找到并且勾选隐藏的项目3、按Win+R组合键,打开运行,并输......
  • tar命令的详细解释
    tar命令[root@linux~]#tar[-cxtzjvfpPN]文件与目录....参数:-c:建立一个压缩文件的参数指令(create的意思);-x:解开一个压缩文件的参数指令!-t:查看tarfile里面的文件......
  • 如何从数据科学技术中获得最大价值?
    如何从数据科学技术中获得最大价值?PhotobyLukeChesseron不飞溅真正的数据科学问题具有其自身的特殊特征或特征,需要以自己的顺序或方式解决。将相同的技术应用于......
  • MATLAB中的“内存不足”?使用此技巧可轻松将内存使用量减半
    MATLAB中的“内存不足”?使用此技巧可轻松将内存使用量减半我将演示如何简单地更改数字数据的精度可以将内存使用量减少一半甚至更多Photoby拥有摄影on不飞溅H您......
  • 区别 chown和chmod的用法
    本人总是习惯使用chmod,而把chown混淆。chown就是修改第一列内容的,chmod是修改第3,4列内容的。chown用法用来更改某个目录或文件的用户名和用户组的chown用户名:组名......
  • 解决方案:有效的字谜(Python)
    解决方案:有效的字谜(Python)给定两个字符串s和吨,返回真的如果吨是一个字谜s,和错误的否则.一个字谜是通过重新排列不同单词或短语的字母而形成的单词......