当前位置: 首页 > news >正文

郑州哪家公司做网站推广优化厂商联系方式

郑州哪家公司做网站,推广优化厂商联系方式,沧州推广建站,合肥做网站优化场景介绍 如应用需要完善用户头像昵称信息,可使用Account Kit提供的头像昵称授权能力,用户允许应用获取头像昵称后,可快速完成个人信息填写。以下只针对Account kit提供的头像昵称授权能力进行介绍,若要获取头像还可通过场景化控…

场景介绍

如应用需要完善用户头像昵称信息,可使用Account Kit提供的头像昵称授权能力,用户允许应用获取头像昵称后,可快速完成个人信息填写。以下只针对Account kit提供的头像昵称授权能力进行介绍,若要获取头像还可通过场景化控件选择头像Button进行获取。

业务流程

流程说明:

  1. 应用传对应scope调用授权API请求获取用户头像昵称。
  2. 如用户已给应用授权,则开发者能直接获取用户头像昵称、UnionID、OpenID。
  3. 如用户未授权,则授权请求会拉起授权页面,在用户确认授权后,开发者能获取到用户头像昵称、UnionID、OpenID。
  4. 获取到头像信息,开发者可以下载该url使用该头像。

接口说明

获取头像昵称关键接口如下表所示,具体API说明详见API参考。

接口名

描述

createAuthorizationWithHuaweiIDRequest(): AuthorizationWithHuaweiIDRequest

获取授权接口,通过AuthorizationWithHuaweiIDRequest传入头像昵称的scope:profile及Authorization Code的permission:serviceauthcode,即可在授权结果中获取到用户头像昵称、UnionID、OpenID和Authorization Code。

constructor(context?: common.Context)

创建授权请求Controller。

executeRequest(request: AuthenticationRequest): Promise<AuthenticationResponse>

通过Promise方式执行授权操作。

头像昵称,可从AuthenticationResponse的子类AuthorizationWithHuaweiIDResponse中解析,具体解析方法请参考客户端开发的示例代码。

注意

1.上述接口需在页面或自定义组件生命周期内调用。

2.未设置昵称默认返回华为账号绑定的匿名手机号/邮箱。

开发前提

在进行代码开发前,请先确认您已完成配置Client ID工作。该场景无需申请scope权限。

开发步骤

客户端开发

  1. 导入authentication模块及相关公共模块。
     
    1. import { authentication } from '@kit.AccountKit';
    2. import { hilog } from '@kit.PerformanceAnalysisKit';
    3. import { util } from '@kit.ArkTS';
    4. import { BusinessError } from '@kit.BasicServicesKit';
  2. 创建授权请求并设置参数。
     
    1. // 创建授权请求,并设置参数
    2. const authRequest = new authentication.HuaweiIDProvider().createAuthorizationWithHuaweiIDRequest();
    3. // 获取头像昵称需要传如下scope
    4. authRequest.scopes = ['profile'];
    5. // 若开发者需要进行服务端开发,则需传如下permission获取authorizationCode
    6. authRequest.permissions = ['serviceauthcode'];
    7. // 用户是否需要登录授权,该值为true且用户未登录或未授权时,会拉起用户登录或授权页面
    8. authRequest.forceAuthorization = true;
    9. // 用于防跨站点请求伪造
    10. authRequest.state = util.generateRandomUUID();
  3. 调用AuthenticationController对象的executeRequest方法执行授权请求,并处理授权结果,从授权结果中解析出头像昵称、UnionID、OpenID和Authorization Code。
     
    1. // 执行授权请求
    2. try {
    3. const controller = new authentication.AuthenticationController(getContext(this));
    4. controller.executeRequest(authRequest).then((data) => {
    5. const authorizationWithHuaweiIDResponse = data as authentication.AuthorizationWithHuaweiIDResponse;
    6. const state = authorizationWithHuaweiIDResponse.state;
    7. if (state != undefined && authRequest.state != state) {
    8. hilog.error(0x0000, 'testTag', `Failed to authorize. The state is different, response state: ${state}`);
    9. return;
    10. }
    11. hilog.info(0x0000, 'testTag', 'Succeeded in authentication.');
    12. const authorizationWithHuaweiIDCredential = authorizationWithHuaweiIDResponse.data!;
    13. const avatarUri = authorizationWithHuaweiIDCredential.avatarUri;
    14. const nickName = authorizationWithHuaweiIDCredential.nickName;
    15. const unionID = authorizationWithHuaweiIDCredential.unionID;
    16. const openID = authorizationWithHuaweiIDCredential.openID;
    17. const authorizationCode = authorizationWithHuaweiIDCredential.authorizationCode;
    18. // 开发者处理avatarUri, nickName, unionID,openID,authorizationCode
    19. }).catch((err: BusinessError) => {
    20. this.dealAllError(err);
    21. });
    22. } catch (error) {
    23. this.dealAllError(error);
    24. }
    25. // 错误处理
    26. dealAllError(error: BusinessError): void {
    27. hilog.error(0x0000, 'testTag', `Failed to auth. Code: ${error.code}, message: ${error.message}`);
    28. }

服务端开发(可选)

开发者根据业务需要选择是否进行服务端开发。

  1. 应用服务器使用Client ID、Client Secret、Authorization Code调用获取用户级凭证的接口向华为账号服务器请求获取Access Token、Refresh Token。
  2. 使用Access Token调用获取用户信息接口获取用户信息,从用户信息中获取用户头像昵称。

    Access Token过期处理

    由于Access Token的有效期仅为60分钟,当Access Token失效或者即将失效时(可通过REST API错误码判断),可以使用Refresh Token(有效期180天)通过刷新凭证向华为账号服务器请求获取新的Access Token。

    说明

    1. 当Access Token失效时,若您不使用Refresh Token向账号服务器请求获取新的Access Token,账号的授权信息将会失效,导致使用Access Token的功能都会失败。
    2. 当Access Token非正常失效(如修改密码、退出账号、删除设备)时,业务可重新登录授权获取Authorization Code,向账号服务器请求获取新的Access Token。

    Refresh Token过期处理

    由于Refresh Token的有效期为180天,当Refresh Token失效后(可通过REST API错误码判断),应用服务器端需要通知客户端,重新调用授权接口,请求用户重新授权。

http://www.tj-hxxt.cn/news/109052.html

相关文章:

  • 中企网站建设新站seo外包
  • 微信网站搭建价格外包公司有哪些
  • 怎样做元古建筑的网站结构图网站降权查询工具
  • 鼎维重庆网站建设专家做网站要多少钱
  • 网站制作相关知识适合发软文的平台
  • 网站开发和商城的科目互动营销的概念
  • 编程培训班在线培训潍坊网站建设seo
  • 购物网站排名第一百度搜索风云榜手机版
  • 在国外做网站卖国内的东西品牌运营包括哪些内容
  • b2b典型网站南宁网站公司
  • 当涂城乡建设局的网站软文100字左右案例
  • 什么网站可以帮忙做任务赚钱网站推广的一般流程是
  • 电商网站设计教程十大收益最好的自媒体平台
  • 男女做污的事情网站电商关键词seo排名
  • 电子商城网站设计论文免费引流推广
  • 天津做国外网站百度查重入口
  • 东莞定制网站开发关键词搜索引擎工具
  • 网站模板内容怎么改站长之家的seo综合查询工具
  • 传统营销渠道有哪些杭州网站推广优化
  • 如何做b2b网站重庆seo代理
  • 学交互设计网站网页设计与制作学什么
  • 重庆搜索引擎优化app优化建议
  • 广东省企网站建设企业qq多少钱一年
  • 网站建设的优点和不足西安seo主管
  • 网站业务员好做吗广州网络推广公司有哪些
  • 从事网站建seo外链怎么发
  • 搬家网站建设思路二十条优化疫情措施
  • 一千个长尾关键词用一千个网站做seo推广哪家好
  • 网站建设中 模板 下载四年级写一小段新闻
  • 交做网站视频百度云百度识图搜索网页版