• 快应用接入帐号服务指导


    1. 帐号服务介绍

    华为帐号是用户访问华为云业务的凭证,拥有华为帐号的用户,可以使用华为云业务,如华为云服务、华为游戏中心、华为应用市场等。

    华为帐号的开放基于OAuth2.0协议标准,在获得用户授权后,应用可以获取用户在华为帐号系统的基本信息,如OpenID、UnionID、用户昵称、头像、邮箱、手机号等。

    OpenID应用使用华为帐号登录后,会获得当前登录的华为帐号对该应用开放的唯一标识。

    UnionID与OpenId的区别:使用同一个华为帐号登录不同的应用,返回的OpenID值不同,但是UnionID是相同的。所以如果开发者需要在多个应用之间标识用户的唯一性,可以使用UnionID。

    接入华为帐号后即可获取OpenID,但是获取UnionID需要在申请帐号服务时,勾选“启用UnionId”。

    2. 快应用接入帐号服务开发流程

    2.1开发准备

    • 在华为开发者联盟上注册成为开发者,并完成实名认证。

    • 在AppGallery Connect上完成快应用的创建。

    • 在AppGallery Connect上开通华为帐号服务。

    • 华为帐号服务是华为扩展接口,而非厂商联盟规范,请安装华为快应用IDE进行接入。

    2.2开发步骤

    【Step1】快应用调用account.getProvider接口判断当前设备是否支持华为帐号服务。返回 huawei 表示支持,否则表示不支持。

    【Step2】快应用调用account.authorize接口获取Authorization Code。

    【Step3】判断是否需要重新获取Authorization Code。

    【Step4】快应用客户端将获取的Code存储到服务端,服务端调用rest接口通过Code获取Access Token,最后服务端将获取的Access Token返回给快应用客户端。

    【Step5】若获取的Access Token失效,则服务端调用rest接口通过Refresh Token重新获取Access Token,然后服务端再将重新获取的Access Token返回给快应用客户端。

    【Step6】快应用调用account.getProfile接口获取用户基本信息,包括OpenID和用户昵称、头像等。

    【Step7】【可选】快应用调用account.getPhoneNumber获取用户手机号码信息。

    3. FAQ

    Q:调用account.authorize,出现signInByBaseScope Authorize base profile fail, code=1的报错信息,如何处理?

    出现此错误是由于调试设备上没有安装HMS Core,请到华为应用市场下载并安装最新版本的HMS Core。

    Q:如何在手机上取消对快应用的用户授权?

    进入手机设置页面,点击登录的帐号,菜单选择“隐私中心 > 控制对您帐号的访问”,点击需要取消授权的应用,点击“取消授权”。

    Q:如何查看快应用rpk文件的签名?

    通过快应用加载器加载该rpk,返回到加载器首页,在使用记录列表中长按该快应用,弹出菜单中选择“管理”进入应用信息界面,见下图中红框部分。

    Q:接入帐号服务时出现异常,如何处理?

    华为帐号接口为厂商定制接口,为了方便定位问题,调试时,请安装华为快应用IDE进行调试。

    出现异常请参考如下操作进行定位:

    1. 检查是否已在“华为开发者联盟”申请华为帐号服务。

    2. 调用account.getProvider,请确保获取返回值为huawei后,再调用其他接口。

    3. 如果出现1002的错误码,请检查使用IDE生成的签名信息和“华为开发者联盟”上配置的证书指纹是否保持一致。

    Q:account.authorize接口常见错误码及处理建议?                                                        

     

    错误码

     

    描述

     

    处理建议

     

    200

     

    通用错误,一般是网关请求网络异常导致,具体错误描述可以在message中查看

     

    出现403网络异常错误码时,建议尝试切换网络,或者检查是否有传入scope

     

    201

     

    用户拒绝授权

     

    202

     

    接口传入参数错误

     

    请对传入参数进行检查

     

    1002

     

    签名校验失败

     

    请检查rpk是否为正式构建的版本,rpk包使用的签名是否与“华为开发者联盟”上配置的指纹签名保持一致

    慕课视频链接:

    华为开发者学堂-面向开发者学习、认证和职业发展的人才生态平台

    开发文档链接:

    文档中心

     

  • 相关阅读:
    React-router-dom 6总结
    Python函数 - - reverse()和reversed()
    常识——虚拟机安装centos7与联网
    ArduPilot开源飞控之AP_Baro_ExternalAHRS
    数据结构初阶——栈和队列
    Ceph入门到精通- 加快日志轮转
    知识点8--SSM项目整合redis、kafka、es以及整合es高亮
    数据 | MongoDB Compass 连接远程数据库及 Nest.js 连接 MongoDB
    构建你的Conda包:使用conda skeleton命令打造包的骨架
    贷款五级分类
  • 原文地址:https://blog.csdn.net/weixin_44708240/article/details/125438868