简介

AppGallery Connect认证服务提供了云侧服务和SDK,可以帮助开发者为应用快速构建安全可靠的用户认证系统,以便应用可以对用户进行身份认证。AppGallery Connect认证服务支持多种认证方式,并与其他Serverless服务紧密集成,开发者可以通过简单的规则定义来保护用户的数据安全。

通过集成AppGallery Connect认证服务提供的Auth Service SDK,开发者可以对接包括华为帐号、微信、Facebook、Twitter在内的多种第三方用户认证系统,并将认证凭据上报给AppGallery Connect认证服务云侧。在下次登录时应用便可直接通过AppGallery Connect认证服务获取用户的个人基本信息和其他Serverless服务中的受安全规则保护的数据。

AppGallery Connect认证服务可以极大减少开发者在用户认证系统构建和运维上的投入和成本。

开通服务和集成SDK

1、登录AppGallery Connect网站,点击“我的项目”。

2、在导航选择“构建 > 认证”。如果是首次使用认证服务,请点击“立即开通”开通服务。

3、点击需要启动的认证方式所在行的“启用”,本案例选择启用“华为帐号”,按要求填写。

4、在项目设置---常规页签下的“应用”区域,下载agconnect-services.json配置文件。

5、添加到项目中。

6、集成认证服务和华为账号SDK。

PlainBashC++C#CSSDiffHTML/XMLJavaJavascriptMarkdownPHPPythonRubySQL
dependencies {implementation "com.huawei.agconnect:agconnect-auth:1.7.0.300"    implementation "com.huawei.agconnect:agconnect-auth-huawei:1.7.0.300"
}

界面设计

您可以在项目中创建一个布局页面,添加一个华为帐号登录按钮即可:

功能开发

1、应用集成AGC SDK时,如果使用了多进程处理机制,则需要在子进程中调用初始化方法。

在Application的onCreate方法中添加初始化代码:

PlainBashC++C#CSSDiffHTML/XMLJavaJavascriptMarkdownPHPPythonRubySQL
if (AGConnectInstance.getInstance() == null) { AGConnectInstance.initialize(getApplicationContext());
}

2、对应的Activity的OnActivityResult中调用AGConnectApi.applicationLifecycle生命周期接口回调给统一登录SDK。

PlainBashC++C#CSSDiffHTML/XMLJavaJavascriptMarkdownPHPPythonRubySQL
    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);AGConnectApi.getInstance().activityLifecycle().onActivityResult(requestCode, resultCode, data);}

3、在点击登录的方法中,初始化AGCAuth实例,调用signIn方法进行华为账号登录。

PlainBashC++C#CSSDiffHTML/XMLJavaJavascriptMarkdownPHPPythonRubySQL
 AGConnectAuth.getInstance().signIn(this, AGConnectAuthCredential.HMS_Provider).addOnSuccessListener(new OnSuccessListener<SignInResult>() {@Overridepublic void onSuccess(SignInResult signInResult) {// onSuccessAGConnectUser user = signInResult.getUser();binding.uid.setText("Uid : " + user.getUid());}}).addOnFailureListener(new OnFailureListener() {@Overridepublic void onFailure(Exception e) {// onFailbinding.uid.setText("error : " + e.getMessage());}});

打包测试

1、在编译器上点击运行按钮,在手机或模拟器上运行应用。确保可以正常访问网络,点击“华为账号登录”按钮。此时会拉起华为账号信息,点击确认后,登录成功,按钮下方显示登录用户的uid。

恭喜您

您已经成功地构建了您的第一个集成AGC认证服务的应用程序,并学到了如何使用AppGallery Connect认证服务进行华为帐号登录。

参考文档

文档中心

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

【AGC】通过AGC认证服务在Android平台实现华为账号登录功能相关推荐

  1. 通过AGC认证服务在iOS平台实现匿名登录功能

    简介 AppGallery Connect认证服务提供了云侧服务和SDK,可以帮助开发者为应用快速构建安全可靠的用户认证系统,以便应用可以对用户进行身份认证.AppGallery Connect认证服 ...

  2. arm架构服务器安装系统教程,docker服务在arm平台上部署安装方法

    docker服务在arm平台上部署安装方法 本教程使用的硬件平台是全志A40I,操作系统采用的是ubuntu18.04,内核是3.10.108(内核很老导致docker兼容性不好) 1.获取最新版本的 ...

  3. Android项目中集成华为账号登录、支付

    最近项目中集成了华为账号登录与支付的功能,把踩过的坑和过程记录下来. 先看下支付效果图: 支付价格0.01请忽略,因为这是为了测试用的. 刚开始接到这个项目的时候我很奇怪,为什么要集成华为支付呢,原有 ...

  4. 【Android】第三方QQ账号登录的实现

    在APP开发过程中,时常会用到第三方账号登录体系. 下面,简要说明QQ的第三方登录体系在Android平台上的运用. 申请APPID 进入QQ互联的官网,http://connect.qq.com/ ...

  5. php 安卓注册,做一个Android应用的注册与登录功能

    在android的应用中越来越多的包含了网络互动功能,这就带来了注册,登陆账号功能.本文完整的介绍对话框的方式实现用户登陆功能. 登陆效果: 应用程序判断当前用户还未登陆,弹出登陆对话框,用户输入账号 ...

  6. Oracle学习笔记:oracle服务在linux平台的启动问题

    本人对linux不熟悉.这两天研究oracle10201在Redhat Enterprise AS 5的安装配置,遇到了不少问题. 安装完oracle后,一旦重启linux,监听和实例都起不来了!!! ...

  7. 微信开放平台---网站授权微信登录功能(附带源码)

    1 微信开放平台:https://open.weixin.qq.com/ 2 微信官方教程:https://open.weixin.qq.com/cgi-bin/showdocument?action ...

  8. 如何实现视频平台会员多账号登录

    我们要实现以下几个功能? 我的解决方案是这样的,这个代码也是要后端来设计的.(后续会更新这个)

  9. android 身份认证技术,Android平台上基于人脸识别的身份认证系统的设计与实现

    摘要: 随着移动互联网与人工智能技术的发展,基于个人特征的生物识别技术代替传统的身份验证方式已经是大势所趋.而人脸识别是生物识别技术的一个重要组成部分,拥有其他生物识别技术没有的独特优势.本文主要针对 ...

最新文章

  1. 简单介绍SQLserver中的declare变量用法
  2. XP中预防U盘自动运行病毒的方法!
  3. 2015上半年软件设计师考点,难点3
  4. html版本的网站地图只适合,如何在HTML和XML网站地图中取舍
  5. linux c ide ssh,VSCode配置远程SSH-IDE
  6. vue-router思维导图
  7. ffplay.c学习-3-音视频解码线程
  8. ios15使用纯代码计算cell的高度
  9. Ubuntu 18的中文界面切换《图解教程》亲测成功
  10. 对二进制文件的操作(c++ 程序设计 by 谭浩强 课本实例)
  11. 利用MPI实现并行排序算法PSRS
  12. SPSS Statistics 24 软件安装教程
  13. python,执行pip报错:Fatal error in launcher: Unable to create process using ‘“D:\tools\python.exe“ (已解决)
  14. 知道为什么HTML页面在电脑上和手机上的布局不同吗?这篇文章带你走进Element UI的简单适配
  15. 百度网盘微信小程序文件 同步到百度网盘APP或客户端
  16. 请上传sku预览图后重新操作_增值税专用发票申请开票限额操作指南
  17. Everyday English(四)
  18. 四位数码管IIC-TM1637
  19. activeMQ消息队列(xml方式)
  20. OSCHINA开源中国

热门文章

  1. YoungGC 停顿超长时间
  2. elasticsearch的java代码操作详解
  3. java作业4--小孩名字流行度排名(简单实现)
  4. 12306网站推出图片验证 反破解
  5. aMac(i) = CStr(Hex(CLng(H aMac(i)) + 1))
  6. 计算机用英语怎么说谐音,求搞笑的英语谐音,如救护车ambulance(俺不能死),救护车英文怎么说...
  7. linux 远程挂载摄像头_NFS在centos下的安装,摄像头挂载NFS
  8. 夸克浏览器有没有linux,我手机上唯一的浏览器——夸克浏览器
  9. 图像处理笔记:各向异性滤波
  10. linux网络服务器学习总结