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();

说明

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

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

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

  1. 【华为账号服务】【FAQ】Account Kit常见咨询合集--其它问题

    1.从Google Play下载的HMS Core(APK)为什么不能获得自动读取短信的权限? 根据Google Play的要求,从其下载的HMS Core (APK)没有读取短信的权限. 2.在An ...

  2. 【华为账号服务】【FAQ】Account Kit常见咨询合集--登录相关问题

    1.开发者有自己的帐号管理,是否可以接入华为帐号? 可以,很多应用都有三方帐号登录功能,这是个很常见的场景. 2.是否有办法在不下载HMS Core(APK)的情况下,实现华为帐号授权登录? 在没有H ...

  3. 华为账号服务内容讲解

    华为账号服务内容讲解 1.业务简介 华为帐号服务(HUAWEI Account Kit)为您提供了简单.安全的登录授权功能,方便用户快捷登录.用户不必输入帐号.密码和繁琐验证,就可以通过"华 ...

  4. php 3 3公派算法代码,PHP常见算法合集代码实例

    许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣,下面是一些常用的算法和实例,大家可以好好学习下 一.文件夹遍历 function allFile($path = __DIR_ ...

  5. php最常见代码,PHP常见算法合集代码实例

    许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣,下面是一些常用的算法和实例,大家可以好好学习下 一.文件夹遍历<?php function allFile($path ...

  6. 47个“企业数字化转型”常见术语合集,看完秒懂~

    全文6.6K字,阅读大约需要:10分钟 如果大家近期有在关注数字化转型领域,那么你就会发现,我们在网上搜索一些数字化内容时,经常无意中会看到很多不熟悉的术语.而如果你在此之前没有掌握这块的基础知识,也 ...

  7. git 强制更新远程_版本控制管理工具git的常见指令合集

    今天小千就来给大家介绍一下git中比较常见的指令合集,方便大家使用git,建议收藏起来方便日后查阅. 一.常见的命令 git help <command> # 显示command的help ...

  8. 1 Go语言开发环境搭建详细教程+go常见bug合集【Go语言教程】

    Go语言开发环境搭建[Win.Linux.Mac] 1 SDK下载 官网地址:golang.org,因为一些原因国内可能无法访问.可以使用下面第二个链接. 国内地址访问:https://golang. ...

  9. 【华为云技术分享】【资料下载合集】HDC.Cloud华为开发者大会2020

    [摘要] 小伙伴们今天有观看直播吧!看到各种灵魂弹幕涌现,当然也有爱学习的小伙伴问线上资料从哪下载呢?热心小编汇总线上各大演讲材料分享给大家,欢迎下载! 温馨提醒:下载资料请提前登录华为云账号 类别 ...

最新文章

  1. R语言编写自定义函数基于ggsumarystats函数计算每个分组的统计值、自定义可视化分组分面条形图,并在X轴标签下方添加分组对应的统计值(样本数N、中位数median、四分位数的间距iqr)
  2. docker教程之从一头雾水到不一头雾水(1)
  3. 【Java 虚拟机原理】线程栈 | 栈帧 | 局部变量表 | 反汇编字节码文件 | Java 虚拟机指令手册 | 程序计数器
  4. SanFeng-Clound
  5. razer inc - hidclass_《原神》× Razer雷蛇典藏版礼盒套装首发 高颜值限量!
  6. 安装kube-prometheus项目:k8s部署prometheus、监控k8s核心组件、添加告警(微信、钉钉、企业微信)、进行数据持久化
  7. 1713. 得到子序列的最少操作次数
  8. C++文档阅读笔记-STL中pair的初步解析
  9. JUnit 4测试驱动开发结构图
  10. mybatis 带分号批量sql_请查收,32 道 MyBatis 的高频面试题已答完
  11. 第2章[2.6] 组件与容器的选择与开发
  12. keras系列︱Application中五款已训练模型、VGG16框架(Sequential式、Model式)解读(二)
  13. Matlab 获取主板、硬盘、CPU、BIOS和网卡序列号
  14. SketchUppro 2021 已支持M1芯片款mac安装 SketchUppro 2021 直装版M1安装教程 M1芯片处理器安装草图大师问题教程
  15. 百度地图API秘钥问题
  16. 一对一关系,一对多关系,多对多关系的简单理解
  17. php后台您没有权限访问该页面,登陆微信公共平台提示没有权限访问该页面请点击返回首页现象的解决办法...
  18. 1.2 网络爬虫分类
  19. SUSCTF 2nd Dk Wrtie Up
  20. vscode配置vue3+python开发环境

热门文章

  1. 为何抢跑了成长型企业SaaS赛道?先看看用友YonSuite有多了解企业
  2. 绵羊放了山羊屁 又骚又洋气
  3. 关于BLM(所谓“黑命贵”)运动的思考与对话
  4. 1024+996=2020,今天注定996,一大波暴击电子美图送给大家!
  5. HTML5 移动Web App阅读器-1
  6. spark:计算LTV3
  7. HP 惠普打印机,打印是时候 显示 需要用户干预
  8. three.js使用Shadertoy的着色器
  9. dnn降噪_手机通话新突破!中兴5G旗舰搭载AI降噪技术告别通话噪音
  10. 代理模式:英雄的普攻和技能伤害值统计