精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OH 應用程序集成 AGC 認證服務實現郵箱登錄

ITMING ? 來源:ITMING ? 作者:ITMING ? 2022-11-22 17:53 ? 次閱讀

前言

AppGallery Connect(簡稱AGC)是華為整合內部各項優質服務,將其在全球化、質量、安全、工程管理等領域長期積累的能力開放給開發者。通過集成AGC構建服務,可以降低企業開發、運維、人力成本;通過集成AGC增長服務能夠使企業產品快速實現用戶增長,加速企業應用商業成功率;通過集成AGC質量服務,可以精準定位應用異常,從而為應用的性能保駕護航。AGC一站式服務可以集成到AndroidIOS、Web、小程序、HarmonyOS/OpenHarmony應用中,如傳統開發登錄認證服務在集成AGC后可以調用少量接口即可實現多類型的登錄方式。

本節以AGC構建應用基礎能力認證服務為例,將其集成到OpenHarmony應用程序中。

流程

  • 搭建開發環境
  • 創建項目和應用
  • 開通認證服務
  • 集成SDK
  • 郵箱登錄認證

1. 搭建開發環境

下載適合自己操作系統版本的DevEco Studio 3.1 Canary1,安裝和配置開發環境在社區已經有很多操作教程,此處不做贅述。

2. 創建項目和應用

2.1 創建項目

在操作之前讀者需要擁有一個華為開發者賬號,然后登錄AppGallery Connect管理中心,點擊界面“我的項目”,打開項目創建界面。

在“我的項目”界面點擊“添加項目”,輸入項目信息,點擊“創建并繼續”。

接著可選擇是否開通分析服務,筆者默認開通。

2.2 添加應用

創建項目完成后,定位在“常規”頁簽,點擊該頁簽中的“添加應用”按鈕,填寫應用的實際信息后,點擊“確認”按鈕完成應用創建。本次以OpenHarmony應用為例,此處需要選擇“APP(HarmonyOS)”,應用名稱和應用包名與使用DevEco Studio創建項目的名稱和包名一致,建議選擇有實際意義的字段。

3 開通認證服務

在左側菜單欄中點擊“構建”-->“認證服務”,打開認證服務開通界面。

在“認證方式”頁簽中,點擊“郵箱地址”列后的啟用,開啟通過郵箱驗證碼方式登錄。

4 集成SDK

4.1 下載SDK配置文件

回到“項目設置” --> "常規"頁簽,下拉找到“應用”,SDK配置,然后點擊下載“agconnect-services.json”,已備創建項目后使用。

4.2 創建項目

打開DevEco Studio點擊Create Project,進入創建項目向導頁,選擇OpenHarmony標簽,創建OpenHarmony項目(當然你也可以直接創建HarmonyOS項目,在配置中改動少量的代碼讓其能夠運行在OpenHarmony設備上)。

添加項目信息,其中Project name和Bundle name需要與2.2小節應用名稱和包名保持一致。

4.3 集成SDK

在項目AppScope/resouces目錄下創建rawfile文件夾,將4.1小節下載的“agconnect-services.json”拷貝到rawfile目錄下。

官方示例中提供的是基于Java版本,而筆者基于ArkTS語言的應用程序,那么引入的依賴文件是什么呢?打開華為提供的DevEco Marketpalce資源倉,點擊“應用及服務組件”,輸入“auth”進行查找。

agconnect-auth-component是一個自定義arkui組件,可以直接引入相對簡陋,此處筆者選擇agconnect-auth,其可以根據自己的需求來構建頁面,當然agconnect-auth-component中關于組件封裝可以詳細閱讀一下,能夠幫助你進一步學習組件的封裝。

打開終端定位到OhAGCAuth/entry目錄,輸入npm install --save @ohos/agconnect-auth或者直接在entry目錄下的package.json文件中引入。

5 郵箱登錄認證

5.1 構建登錄頁面

頁面元素:

  • 郵箱地址輸入框(TextInput)
  • 驗證碼獲取按鈕(Button)
  • 驗證碼輸入框(TextInput)
  • 登錄按鈕(Button)
  • 登錄信息回顯(Text)

5.2 引入AGC認證服務組件

// OhAGCAuth/entry/entryability/EntryAbility.ts
import agconnect from '@ohos/agconnect-api';
import '@ohos/agconnect-core'
import '@ohos/agconnect-auth'

5.3 初始化SDK并配置apikey及clientSecret,并將auth對象保存為全局變量

  • apikey為AGC管理中心項目設置常規頁簽下項目參數中API密鑰(憑據);
  • clientSecret為為AGC管理中心項目設置常規頁簽下項目參數中客戶端ID項Client Secret。
export default class EntryAbility extends Ability {
    onCreate(want, launchParam) {
        hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO);
        hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
        hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? '');
        hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:' + JSON.stringify(launchParam) ?? '');
        
        agconnect.instance().init(this.context);
        agconnect.instance().setApiKey(apikey);
        agconnect.instance().setClientSecret(clientSecret);
        globalThis.auth = agconnect.auth();
        
    }
  
  ...
}

AGC認證服務需要網絡請求權限,在entry/modules.json5中添加網絡權限。

{
  "module": {
    ...
    "requestPermissions": [
      {
        "name": "ohos.permission.INTERNET"
      }
    ]
  }
}

5.4 完善功能

  1. Index.ets文件中導入郵箱認證需要的包
import {
  AGConnectAuth,
  VerifyCodeAction,
  VerifyCodeSettingBuilder,
  EmailAuthProvider } from '@ohos/agconnect-auth';
import { Logger } from '@ohos/agconnect-base';
  1. 接受全局auth對象。
// 接受auth對象
let auth: AGConnectAuth = globalThis.auth;
  1. 實現點擊“獲取驗證碼”發送驗證碼能力,需要調用requestEmailVerifyCode()方法
Button('獲取驗證碼')
  .width('40%').height(48)
  .fontSize(16)
  .onClick(() => {
    // 申請郵箱驗證碼配置參數
    let verifyCodeSettings = new VerifyCodeSettingBuilder()
      .setAction(VerifyCodeAction.REGISTER_LOGIN)
      .setLang('zh_CN')
      .setSendInterval(60)
      .build();
    // 發送請求獲取郵箱驗證碼
    auth.requestEmailVerifyCode(this.email, verifyCodeSettings).then(res => {
      Logger.info(TAG, "請求郵箱驗證碼成功!result: " + JSON.stringify(res));
      this.result = "請求郵箱驗證碼成功!result: " + JSON.stringify(res);
    }).catch(err => {
      Logger.error(TAG, "請求郵箱驗證碼失敗!error: " + JSON.stringify(err));
      this.result = "請求郵箱驗證碼失敗!error: " + JSON.stringify(err);
    })
  })
  1. 最后一步,將驗證碼輸入后點擊登錄,調用``方法構建登錄用戶credential憑證,并調用signIn()方法進行登錄。
Button('登錄')
  .width('50%')
  .height(64)
  .fontSize(20)
  .backgroundColor(0x025684)
  .onClick(() => {
    // 通過郵箱和驗證碼獲取憑證
    let credential = EmailAuthProvider.credentialWithVerifyCode(this.email, this.verifyCode);
    // 登錄接口,通過第三方認證來登錄AGConnect平臺
    auth.signIn(credential).then(res => {
      Logger.info(TAG, "登錄成功!result: " + JSON.stringify(res));
      this.result = "登錄成功!result: " + res.getUser().getUid();
    }).catch(err => {
      Logger.error(TAG, "登錄失敗!error: " + JSON.stringify(err));
      this.result = "登錄失敗!error: " + JSON.stringify(err);
    })
  })

6 打包測試及效果演示

  1. 使用DevEco Studio一鍵配置簽名
  2. 連接DAYU200(OpenHarmony v3.2Beta3)

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • AGC
    AGC
    +關注

    關注

    0

    文章

    160

    瀏覽量

    51634
  • OpenHarmony
    +關注

    關注

    25

    文章

    3659

    瀏覽量

    16152
收藏 人收藏

    評論

    相關推薦

    OpenHarmony應用程序集成AGC云存儲

    在之前的文章中筆者分享了在OpenHarmony應用程序集成AppGallery Connect(AGC)五大類體系服務中構建應用基礎能力的認證
    的頭像 發表于 02-27 16:27 ?1381次閱讀
    OpenHarmony<b class='flag-5'>應用程序</b><b class='flag-5'>集成</b><b class='flag-5'>AGC</b>云存儲

    鴻蒙原生應用/元服務實戰-AGC團隊賬戶

    多人及內外結合去開發運營鴻蒙原生應用元服務時,需要用到團隊賬戶,AGC提供了強大的團隊角色與權限分工能力。 團隊帳號是開發者聯盟為實名開發者提供的多個成員帳號登錄與權限管理服務。當前團
    發表于 01-18 16:38

    鴻蒙原生應用元服務實戰-Serverless華為賬戶認證登錄需盡快適配

    一、ArkTS\\\\API9,服務器端基于serverless開發的應用與元服務華為賬號注冊登錄功能暫時是不支持的 二、3月1日后的審核要求 3月1日的時間是快到了。 三、會導致的結果
    發表于 02-20 10:14

    調用云服務認證體系

    一、介紹 基于鴻蒙Next實現應用的認證注冊流程。二、場景需求 用戶注冊模塊: 郵箱/手機號驗證: 密碼設置: 個人信息填寫: 用戶登錄模塊: 郵箱
    發表于 09-05 09:39

    JAVA實現:使用sAMAccountName作為登錄名通過LDAP目錄庫驗證

    實現。其中涉及到JAVA EE的WEB開發,EMAIL、NDS應用模塊的配置和結合,數據加密,項目管理過程設計,SVN數據的備份與恢復等等。而我和幾個teammates主要負責開發一個web應用程序
    發表于 07-09 08:12

    如何跨多個SOA將RFID Web服務集成到EAI應用程序

    在本文中,我將首先討論兩種開發 RFID 應用程序的方法:傳統方法和 RFID Web服務。然后,我將 討論把 RFID Web服務集成到多個 SOA 中的 EAI
    發表于 07-17 06:31

    HarmonyOS應用端云一體化開發登錄組件的使用

    oh-package.json5中新增依賴: “@ohos/agc-auth-component”: “^1.0.5” 2.在代碼中集成組件 Column() { Login({ modes
    發表于 05-26 15:34

    OpenHarmony端云一體化應用開發快速入門練習(中)登錄認證

    的能力。二、登錄認證郵箱 可以在應用中集成郵箱帳號認證方式,您的用戶可以使用“
    發表于 06-20 17:05

    OpenHarmony端云一體化應用開發快速入門練習(下)登出銷戶等

    一、登出 前提條件:需要在AGC控制臺開通認證服務。需要先在您的應用中集成認證服務SDK。 開發
    發表于 06-21 14:17

    HarmonyOS/OpenHarmony原生應用開發-華為Serverless認證服務說明(二)

    Serverless認證服務說明 幫助應用快速構建安全可靠的用戶認證系統,給用戶更簡捷的登錄體驗。支持手機號、郵箱、國內外主流三方平臺帳號、
    發表于 10-10 14:59

    基于SAML單點登錄安全服務體系的應用研究

    安全斷言標記語言SAML是讓互相信賴的雙方可以交換安全相關信息的一個XML架構,它定義了不同系統之間安全服務交換認證和授權信息的機制,單點登錄技術SSO是實現
    發表于 06-20 09:11 ?18次下載

    為什么微服務實施那么難_綜合解決微服務實施難點的措施

    本文組要概述了為什么微服務實施那么難,以及綜合解決微服務實施難點的措施。
    的頭像 發表于 02-07 16:38 ?6232次閱讀

    干貨:node服務實現負載均衡的步驟

    干貨:node服務實現負載均衡的步驟
    的頭像 發表于 07-07 10:20 ?3594次閱讀

    淺析數字AGC的matlab仿真程序

    AGC的浮點仿真程序來了!文末還給出參考資料的列表,建議大家去知網下載。這些資料可以幫助大家完善AGC的理論! %%%%%% AGC性能之測試程序
    的頭像 發表于 06-29 17:01 ?3882次閱讀

    應用程序中的服務器錯誤怎么解決?

    在使用應用程序時,可能會遇到服務器錯誤的問題。這種錯誤通常會導致應用程序無法正常運行 ,給用戶帶來不便。下面將介紹應用程序中的服務器錯誤及其
    的頭像 發表于 03-12 15:13 ?5756次閱讀