首页 > 其他分享 >OpenHarmony应用集成AGC认证服务实现登录

OpenHarmony应用集成AGC认证服务实现登录

时间:2022-12-20 20:02:46浏览次数:67  
标签:OpenHarmony 服务 登录 AGC 认证 HarmonyOS 应用

11月4日在HDC大会(华为开发者大会2022)推出一套覆盖应用设计、开发、测试、上架、运营全生命周期的七大鸿蒙开发套件“金字塔”,本次分享内容围绕处于“塔尖”位置的一站式鸿蒙应用及原子化服务运营平台AGC(AppGallery Connect,华为应用市场)展开。

92e5ea289ae67e32f302301541e1774c2a7500.png

1 认识AGC

AGC是华为整合内部各项优秀服务,并将在全球化、质量、安全、工程管理等领域长期积累的能力开放给开发者,其致力于为应用的创意、开发、分发、运营、经营各环节提供一站式服务,为构建全场景智慧化应用赋能。应用程序集成AGC服务,可大幅降低应用开发成本,提升开发效率,提高版本质量,其开放分发和运营服务,助力应用商业化成功。

AGC提供一站式全球发布、用户精细化运营、应用高效开发、质量无忧护航四类场景解决方案,通过应用发布前云测试、云调试等服务对应用性能等方面进行检测,从而降低应用上架审核驳回率。从2019年5月华为推出首个AGC版本至今,AGC从最初仅支持Android应用到目前支持Android、IOS、Web、小程序/小游戏、快应用,HarmonyOS应用,其在不断迭代中壮大。

e5d6fe85668c9aded85757f678efb5d54acdea.png

随着后端架构不断演进,从初始的单体架构到微服务架构,再到当前新型的Serverless架构,AGC以Serverless为基座,搭配云端开发,实现云端一体化能力,让开发者成为全栈工程师,端开发者可以通过集成云端库并编写少量代码即可实现业务模块,不需要关注底层业务逻辑,如系统版本、环境搭建等。

image.png

2021年9月28日发布了支持HarmonyOS应用程序的AGC SDK,从1.1到1.3三个版本的不断演进过程中,对于五大服务体系支持的越来越完整,当前支持认证服务、云函数、云数据库、应用内消息、远程配置、崩溃及App Linking。

65ed1c693a4a47d5c219717bdc5a0f0df38791.png

HarmonyOS系统是OpenHarmony的商用版本,因此为HarmonyOS提供支持的AGC也可以在OpenHarmony应用程序中集成。接下来将进入今天的主题,OH应用集成AGC认证服务实现登录。

2 开通AGC服务

要使OH应用程序能够正常使用,则需要先在AGC控制台项目应用中开通认证服务模块,完整的开通流程为:

  • 创建项目
  • 创建应用
  • 开通认证服务

2.1 创建项目

在AGC控制台点击“我的项目”打开项目创建,在AGC中项目相当于一个文件夹,该文件夹中存储各系统的应用程序,如适用于Android、IOS、HarmonyOS、小程序的应用。

image.png

image.png

2.2 创建应用

AGC项目创建完成后,默认打开项目常规设置页签,点击页签中的“添加应用”创建应用。

image.png

2.3 开通认证服务

展开左侧列表“Serverless”,点击“认证服务”打开认证服务开通界面,点击页面中的“立即开通”按钮,开通认证服务功能。

image.png

开通认证服务后,还需要根据业务需要,启用相关的登录认证能力,当前提供手机号、邮箱、三方授权、匿名账号及自有账号的登录方式。本次以手机号为例,只需要启用手机号码登录即可。

image.png

3 集成AGC服务

AGC提供的认证服务SDK有两种,一种是接口方式,一种是弹窗方式。打开鸿蒙生态开发资源包DevEco Marketplace,切换到应用及服务组件页签中,在搜索框中输入agconnect-auth,其中agconnect-auth是接口类型的,而agconnect-auth-component是为ArkUI提供的自定义弹窗库。

image.png

3.1 创建OH应用程序

打开DevEco Studio开发工具,创建名称和包名均与AGC添加应用时名称和包名一致的OH应用,此处选择OH模板选择Empty Ability空模板。

image.png

3.2 引入AGC认证服务SDK依赖包

  1. 通过npm方式引入依赖
// 定位到工程entry目录
cd entry
npm install --save @ohos/agconnect-auth-component
  1. 明确依赖包版本则直接在package.json配置文件中dependencies中引入依赖包。
{
  ...
  "dependencies": {
    "@ohos/agconnect-auth-component": "^1.0.0"
  }
}

3.3 引入SDK配置文件

在AGC项目设置常规页签中,下载应用栏中的agconnect-services.json配置文件,并拷贝到项目AppScope/resources/rawfile/目录下。

image.png

3.4 实现登录业务

  1. 在页面引入登录组件
// Login:自定义登录弹窗组件
// AuthMode:登录弹窗类型(PASSWORD方式,手机号+验证码方式,邮箱+验证码方式)
import { Login, AuthMode } from '@ohos/agconnect-auth-component';
  1. 点击按钮弹窗登录框进行登录
Login({
  modes: [AuthMode.PHONE_VERIFY_CODE],
  apiKey: APIKEY,
  clientSecret: CLIENT_SECRET,
  onSuccess: () => {
    // 登录成功后操作
  }
}) {
  Text('登录')
    .height('100%')
    .fontSize(26).fontWeight(FontWeight.Bold)
}

使用场景如不需要直接登录即可浏览的App,都可在需要用户登录状态处进行弹窗登录。如商品订单支付功能需要用户登录后获取用户收货地址,此处即可在下单时判断用户登录状态是否需要弹出登录框。

  1. 权限 使用AGC认证服务需要网络支撑,因此需要在module.json5配置文件中添加网络权限。
{
  "module": {
    ...
    "requestPermissions": [
      {
        "name": "ohos.permission.INTERNET"
      }
    ]
  }
}
  1. 运行设备 可以在entry模块的build-profile.json5配置文件中更改其name属性为defaultruntimeOS(运行系统)为HarmonyOS即可在HarmonyOS 3.1系统的设备上运行。
{
  ...
  "targets": [
    {
      "name": "default",
      "runtimeOS": "HarmonyOS"
    }
  ]
}

3.5 运行效果

最终运行效果参见OpenHarmony应用集成AGC认证服务实现登录演示

4 运行Demo

① 更改app.json5中bundleName为AGC应用的包名,项目名称可默认
② 拷贝agconnect-services.json配置文件到工程/AppScope/resources/rawfile/目录下
③ 在/entry/src/main/ets/common/Constant.ts中填写APIKEY和CLIENT_SECRET,两个值取自AGC项目设置常规标签下的项目信息的ApiKey和ClientSecret。
④ 真机设备需要给应用进行签名。

附件链接: OpenHarmony应用集成AGC认证服务实现登录.pptx OH应用集成AGC认证服务实现登录源代码.zip

本文作者:Tuer白晓明

想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com/#bkwz​

标签:OpenHarmony,服务,登录,AGC,认证,HarmonyOS,应用
From: https://blog.51cto.com/harmonyos/5954301

相关文章

  • 喜讯 | 博雅数智荣获“中关村高新技术企业”认证!
    近日,通过中关村科技园区管理委员会严格审核,博雅数智荣获“中关村高新技术企业”认证。公司将以此为契机,加大科技创新力度,为高等院校、企业和数字经济从业者提供更专业的大数......
  • 公有云API的认证方式:AK/SK 简介
    推荐一个小白人工智能入门教程,分享给各位同学,零基础教程,简单通俗易懂,风趣幽默,由浅及深,这里可以直达:​​人工智能教程​​主要用到apt-getdpkg两个命令:1公有云API的认证方......
  • 宁盾802.1X证书认证能力优化,员工入网认证还可以这么玩
    在有线、无线网络接入认证时,企业通常采用802.1x认证作为员工入网认证方式。而802.1x认证又可细分为用户名密码认证和证书认证。不少企业想通过证书认证方式实现一键连网,并想......
  • 亚马逊化妆品BCOP认证办理
    什么产品需要这个认证呢?像接触眼睛外贸论坛外贸论坛的眼影,液体眼线笔,磁性睫毛,假睫毛,等都可能会对眼睛产生eBay论坛eBay论坛一定外贸论坛外贸论坛的刺激,所以亚马逊现在也在严......
  • SpringSecurity+JWT认证流程解析
    纸上得来终觉浅,觉知此事要躬行。楔子本文适合:对SpringSecurity有一点了解或者跑过简单demo但是对整体运行流程不明白的同学,对SpringSecurity有兴趣的也可以当作你们......
  • (给大家科普一下)皇家国际游戏网址(hj8828.vip)开源OpenHarmony已推出14个行业发行版
    开源OpenHarmony已推出14个行业发行版IT之家8月8日消息,据财联社报道,华为HarmonyOS设备数加上鸿蒙智联设备数已突破4.7亿台,此前华为正式发布了HarmonyOS3系统。目......
  • (给大家科普一下)皇家国际游戏网址(hj8828.vip)诚迈科技落子OpenHarmony,
    诚迈科技落子OpenHarmony,隆重发布鸿诚志远(HongZOS)发行版11月3日,诚迈科技(南京)股份有限公司(以下简称“诚迈科技”)在东莞松山湖成功举办“鸿雁于飞·至诚志远——开源鸿蒙·诚......
  • AGC004
    A-DivideaCuboid分三个面切即可,简单取\(\min\)即可。#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<vector>#include<al......
  • 题解 AGC059C【Guessing Permutation for as Long as Possible】
    problem小明有一个隐藏的排列\(p\),小红想要猜出来。现在允许小红提问,每次提问的形式是\(a_i\)和\(b_i\),然后小明会告诉小红谁大谁小。小红是个老实的人,她的询问顺序......
  • 移动电源出口日本PSE认证流程
    移动电源、移动充电器(行电、行充、充电宝、尿袋、奶妈;英语:Powerbank)是一种个人可随身携带,自身能储备电能,主要为手持式移动设备等消费电子产品(例如无线电话、笔记本电脑)充电......