OpenHarmony端云一体化应用开发快速入门练习(下)登出销户等

news2024/11/17 15:59:24

一、登出
前提条件:需要在AGC控制台开通认证服务。需要先在您的应用中集成认证服务SDK。
开发步骤


当用户不再使用应用,或者需要使用其他帐号登录时,需要调用AGConnectAuth.signOut登出当前用户。用户一旦被登出,端侧的用户信息和Token将被清除。

agconnect.auth().signOut().then(() => {
                    //登出成功
              }).catch(error => {
                   //登出失败
                });

二、销户
前提条件:需要在AGC控制台开通认证服务。需要先在您的应用中集成认证服务SDK。
开发步骤


三、帐号重认证

前提条件:需要在AGC控制台开通认证服务。需要先在您的应用中集成认证服务SDK。
开发步骤


对于销户、修改密码、关联帐号以及重置手机帐号和邮箱帐号这些敏感操作,要求用户必须在5分钟内登录过应用才能执行。如果您执行敏感操作时已经登录超过5分钟,该操作会抛出AGCAuthException异常,收到错误码为203818081的错误,这种情况下您可以先调用AGConnectUser.userReauthenticate,重认证帐号后再执行敏感操作。

 let credential = '';
  if(verifyCode){
    credential = agconnect.auth().PhoneAuthProvider.credentialWithVerifyCode(countryCode, account, password, verifyCode);
  }else{
    credential = agconnect.auth().PhoneAuthProvider.credentialWithPassword(countryCode, account, password);
  }
  agconnect.auth().getCurrentUser().then(async user => {
    if(user){
      await agconnect.auth().userReauthenticate(credential);
    }
  })

四、异常处理
在某些情况下,程序无法按预想的情况正常执行,而是会发生异常。可以根据AGCAuthException实例对象或者AGCError实例对象返回的错误码定制实现自己的异常处理方案,给用户带来更友好体验。
处理异常
处理接口异常时,您可以从接口抛出的异常来获取到请求失败的相关信息。您需要判断该方式回调的异常对象是否是一个AGCAuthException实例对象或者AGCError实例对象,然后您可以根据返回的错误码定制实现您自己的异常处理场景。

import {AGCAuthException} from '@hw-agconnect/auth-ohos';
import {AGCError} from '@hw-agconnect/auth-core';

  agconnect.auth().signIn(credential)
    .then(user => {
      //登录成功
    }).catch(error => {
    //登录失败
    if (error instanceof AGCAuthException || error instanceof AGCError) {
     // 根据错误码进行处理
    }
  });

错误码203817986特殊处理说明
用户登录成功后,认证服务SDK会保存当前用户的Access Token和Refresh Token。
Access Token:用户的访问令牌,表明用户的唯一身份,涉及到用户级别的操作,都需要验证Access Token。
Refresh Token:刷新用户的Access Token,由认证服务SDK自动刷新。
Access Token有效期为1小时,Refresh Token为2个月。用户如果连续2个月没有登录操作,再调用涉及用户级别的接口时,Refresh Token失效,会抛出错误码203817986。
应该在代码中显式捕获该错误码,提示用户重新登录。

五、SDK隐私安全说明
华为软件技术有限公司(以下简称“我们”或“华为”)将通过本文档向应用开发者和其用户说明SDK的隐私安全信息,包括认证服务处理的个人信息范围、处理目的、权限使用情况、如何获取最新的SDK等。
如果您是开发者,在接入、使用认证服务 SDK和服务前,请按照本说明要求在您应用的隐私政策中向您的用户告知SDK相关信息,并获取用户的同意或取得其他合法性基础。有关如何处理开发者个人数据的说明,您可参阅关于华为AppGallery Connect与隐私的声明。
如果您是用户,在您使用集成了本SDK的应用前,请务必仔细阅读相关应用的隐私政策及本SDK安全隐私说明,确保您充分理解和同意之后再开始使用。
SDK处理的个人信息
为了向应用开发者和其用户提供本SDK和服务,我们会收集、使用、存储服务所必需的如下个人信息。
基于不同的设备和系统版本,以及开发者在集成、使用我们SDK产品时决定的权限,收集的设备信息会有所不同,因此开发者应对实际收集的个人信息向用户进行说明。


如果您是开发者,在您接入、使用认证服务SDK和服务前,我们要求您在隐私政策中向用户告知我们SDK的名称、SDK提供方名称、收集个人信息类型、使用目的、隐私政策链接,并获取用户的同意或取得其他合法性基础。您可以参考如下方式提供条款内容:
以文字方式向用户告知
第三方SDK名称:AGC 认证服务SDK(OpenHarmony版)
第三方名称:华为软件技术有限公司
收集个人信息类型:应用信息、您主动上传的数据(包括注册认证使用的手机号码、邮箱地址、头像、昵称、认证凭证)
使用目的:在认证提供方系统中最终用户的唯一标识,使最终用户可通过其在认证提供方系统中的标识来登录客户的应用,并在客户的应用中展示最终用户的个人信息。
隐私政策链接:
文档中心
以表格方式向用户告知

SDK权限声明

SDK延迟初始化
为了避免开发者的应用在未获取您的同意前,SDK提前启动收集使用您的个人信息。认证服务SDK提供了初始化接口agconnect.auth(),要求开发者的应用获取您的同意后才能调用此接口初始化SDK。
SDK数据安全保护
SDK端侧采集数据本地加密,与AGC后台采用HTTPS安全协议进行传输。
SDK版本更新声明
为了向您提供更新的、安全的服务,我们会不时更新SDK版本。我们强烈建议开发者集成使用最新版本的SDK并向开发者提供了下载地址。
SDK工作方式
SDK需要在应用打包时,被加载在您的应用当中。SDK会随着客户应用的启动而启动。当用户关闭应用时,SDK会随着客户应用的关闭而关闭,不会在后台做任何额外动作。

九、个人数据处理说明

此文档针对华为作为最终用户数据处理者,您作为最终用户数据控制者的数据处理进行说明,包括:
华为处理的个人数据清单
指导您如何实现对最终用户数据的控制
华为处理的个人数据清单


指导您如何实现对最终用户数据的控制
如何清除最终用户的数据?
AAID在匿名用户选择绑定邮箱地址后会自动删除,在最终用户删除后或客户通过其他方式选择删除数据后立即清除。
ProviderAccessToken仅用于即时发往认证提供方系统进行身份验证,不保存。
AgcAccessToken自创建后48小时自动清除,AgcRefreshToken自创建后30天自动清除。在用户或开发者提前结束用户登录会话时AgcAccessToken和AgcRefreshToken会被立即清除。
其他数据在最终用户删除后或客户通过其他方式选择删除数据后立即清除。
在开发者删除创建的项目/应用后进行删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/670648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vivado 下按键控制 LED 实验

目录 Vivado 下按键控制 LED 实验 1、简介 2、实验环境 3、实验任务 4、硬件设计 5、程序设计 5.1、按键控制 led 模块代码 5.2、Vivado 仿真验证 5.2.1、Testbench 模块代码如下: 5.2.2、Vivado 仿真验证 6、下载验证 6.1、添加约束文件.xdc 6.2、板上…

SPSSPRO数据分析之——CSI数据预处理、降维

目录 一、前言 二、数据准备 三、进行预处理 四、进行降维任务 五、正态性检测 六、代码功能 一、前言 SPSSPRO是一款全新的在线数据分析平台,可以用于科研数据的分析、数学建模等,对于那些不会编程或者刚进入科研的新人来说,这款工…

CDGA/CDGP——第八章 数据集成和互操作

加gzh“大数据食铁兽”, 回复“知识点” 获取《DMBOK知识梳理for CDGA/CDGP》常考知识点(第八章 数据集成与互操作) 第八章 数据集成和互操作 第八章在CDGA分值占比较少,CDGP不考核,主要考点包括:定义、…

电商数据分析方案:丰富经验护航,分析一步到位

如果做电商数据分析的每一步都从零开始,摸着石头过河,反复测试修改。一通忙活下来,成果没见多少,人力物力成本倒是节节攀升,试问又有多少企业承受得住?如果有一套一步到位的数据分析方案,是不是…

Excel根据颜色求和与计数

文章目录 一、需求二、实现方法1.代码2.创建自定义函数3.使用函数 三、参考资料 一、需求 一个Excel中有不同颜色标记的单元格,统计的时候,需要按照颜色进行统计。 人工来做肯定是不可能了,借助Excel的功能好像也没有思路,其实这…

【三维重建】【深度学习】【数据集】基于COLMAP制作自己的NeRF(LLFF格式)数据集

【三维重建】【深度学习】【数据集】基于COLMAP制作自己的NeRF(LLFF格式)数据集 提示:最近开始在【三维重建】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【三维重建】【深度学习】【数据集】基于COLMAP制作自己的NeRF(LLFF格式)数据集前言下…

python复习第一章

什么是 Python? Python 是一门流行的编程语言。它由 Guido van Rossum 创建,于 1991 年发布。 它用于: Web 开发(服务器端)软件开发数学系统脚本 Python 可以做什么? 可以在服务器上使用 Python 来创建…

图解路由器处理报文全过程,值得一看!

你们好啊,我的网工朋友 只要有网络的地方,你很难不看到路由器的身影,各种低、中、高端的,种类繁多,所具备的功能和内部实现不完全一样。 要知道,路由器不断的在吞吐通信数据,就像鱼吐泡泡一样…

【有奖征文 】AI编程:华为云CodeArts Snap入门体验

了不起的开发者们,当你听到“编程”一词时,可能想到的是一行行复杂的代码和漫长的坐姿。但是,随着人工智能的飞速发展,AI编程正在成为一种全新的编程方式,使得编程变得更加简单和直观。现在,是时候跟大家分…

如何在ALPS系统上模拟MODBUS协议

Modbus协议介绍 请想象一下你有一个工厂,里面有许多机器和设备,比如传感器、电机、控制器等,这些设备需要相互通信以便共享数据和执行任务。Modbus协议就像是这些设备之间的一种语言或规则,确保机器和设备能够互相理解和交流。 在…

python数据可视化Mito安装配置

目录 遇见 Mito如何启动 Mito数据透视表Mito 令人印象深刻的功能可视化数据自动代码生成Mito 安装 JupyterLab 是 Jupyter 主打的最新数据科学生产工具,某种意义上,它的出现是为了取代Jupyter Notebook。 它作为一种基于 web 的集成开发环境&#xff…

SpringMvc学习——在idea中新建springWeb项目 浏览器请求 和 服务器响应 SpringMvc文件相关

目录 引出基础知识:三层架构和MVC1. 三层架构2.MVC模型 springWeb项目IDEA搭建1.新建一个普通的maven项目2.导入包,pom.xml文件3.写主启动类Main.java文件SpringBootApplication4.写application.yml文件spring的配置文件5.启动,运行main.java…

【分享】PowerPoint可以设置哪些密码保护?

想要给PPT设置密码保护?那我们来看看PowerPoint自带哪些密码功能。 PowerPoint可以设置两种密码保护,分别是“打开密码”和“限制密码”。 【打开密码】 PowerPoint设置“打开密码”后,就无法随意打开文件,需要输入正确密码才可…

4.地址转换,实现101012分页

实现内存检测,理解Linux内存管理,实现101012分页 参考: 检测内存容量 趣谈 Linux 操作系统 内存管理 《操作系统真相还原》 1.内存检测 BIOS 中断 0x15 的子功能够获取0xE820 能够获取系统的内存布局,由于系统内存各部分的类型属…

什么是版本控制系统?怎么学习? - 易智编译EaseEditing

版本控制系统(Version Control System,简称VCS)是一种用于管理和跟踪文件版本的工具或系统。它可以追踪文件的变更历史,记录每个版本的修改内容,以及支持多人协作开发。 学习版本控制系统可以帮助你更好地管理和控制你…

HTTPS加密:保障网站安全的重要手段

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言什么是HTTPS加密&a…

由于找不到d3dx9_42.dll,无法继续执行代码怎么修复,这三个修复方法可以解决

是不是遇到过在打开软件或者游戏的时候,电脑提示“由于找不到d3dx9_42.dll,无法继续执行代码”,无法正常启动游戏程序,d3dx9_42.dll是一个DirectX相关的动态链接库文件,它是DirectX 9中的一个组件。DirectX是微软公司开发的一个多…

TC8:SOMEIP_ETS_001-003

SOMEIP_ETS_001: Array_Length_longer_as_message_length_allows_it 目的 当Tester发送的SOME/IP消息中,payload数据是序列化的数组时,数组的Length字段值比SOME/IP Length字段允许的要大时,DUT回复SOME/IP Error消息 如果DUT忽略SOME/IP Request消息,这条测试也是Pass的,…

Sentieon | 每周文献-Genetic Disease-第二期

遗传病系列文章-1 标题(英文):Answer ALS, a large-scale resource for sporadic and familial ALS combining clinical and multi-omics data from induced pluripotent cell lines标题(中文):Answer ALS&…

业务数据又多又杂,该如何高效开展数据治理?

某集团目前有近百套系统,数据分散在各个系统内,且业务范围广泛,数据来源复杂,随着集团业务系统的建设和推广应用,数据质量不高、数据标准不一、数据难以互通共享融合、系统之间存在数据壁垒等问题逐渐显现,…