在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    167

    瀏覽量

    52442
  • OpenHarmony
    +關注

    關注

    28

    文章

    3840

    瀏覽量

    18259
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    OpenHarmony應用程序集成AGC云存儲

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

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

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

    HarmonyOS5云服務技術分享--認證文檔問題

    /oh_modules)。 三、結尾總結 通過本文,您已完成AGC認證服務的HarmonyOS ArkTS集成流程。后續可結合業務需求擴展
    發表于 05-22 13:20

    HarmonyOS5云服務技術分享--手機號登錄教程

    auth.settings.enableMultiDevice(true)開啟支持 六、擴展能力 ? 想讓你的認證系統更強大? 試試這些: ? ??賬號關聯??:綁定微信/郵箱實現多方式登錄
    發表于 05-22 15:37

    HarmonyOS5云服務技術分享--登錄郵件功能整理

    HarmonyOS認證服務實戰:ArkTS API 12郵箱登錄全流程解析?? ??——開發者友好版指南?? ??Hi,各位HarmonyOS開發者朋友!??今天我們來深入探討Harm
    發表于 05-22 16:04

    HarmonyOS5云服務技術分享--賬號登錄文章整理

    ,這篇實戰指南都能讓你輕松上手~ ? 一、準備工作:配置你的開發環境 ??Step 1. 開通認證服務?? 登錄AGC控制臺,找到你的項目,在「構建」-「
    發表于 05-22 16:16

    HarmonyOS5云服務技術分享--自有賬號對接AGC認證

    體系(比如自研的用戶系統),通過AGC的??自有賬號認證??功能,可以快速接入AGC認證服務實現
    發表于 05-22 16:32

    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次下載

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

    干貨:node服務實現負載均衡的步驟
    的頭像 發表于 07-07 10:20 ?3858次閱讀
    主站蜘蛛池模板: 久久精品美女 | 国产精品777 | 天堂tv亚洲tv日本tv欧美人tv | аⅴ天堂中文在线网 | 国产主播在线看 | 成人最新午夜免费视频 | 天天操天天看 | 欧美福利专区 | 七月婷婷精品视频在线观看 | 国产午夜精品福利 | 成人国产精品一级毛片视频 | 黄色污网站在线观看 | 亚洲韩国欧美一区二区三区 | 伊人久久狼人 | 欧美无遮挡一区二区三区 | 婷婷丁香色 | 午夜999| 亚洲一区二区三区高清 | 黄色免费在线网址 | 日韩一卡2卡三卡4卡无卡网站 | 国产人人艹 | 性欧美人与zooz | 丁香欧美| 欧美日韩在线一本卡 | 日本吻胸抓胸激烈视频网站 | 天天操天天爽天天射 | 小草影院亚洲私人影院 | 天天综合天天色 | 1000部禁片黄的免费看 | 久久精品国产精品亚洲精品 | 色婷婷久久综合中文久久蜜桃 | 九九国产精品视频 | a免费网站| 国产成人综合一区人人 | 97超频国产在线公开免费视频 | 久久青草18免费观看网站 | 在线一区二区三区 | 欧美特黄特色aaa大片免费看 | a级男女性高爱潮高清试 | 国产精品欧美一区二区三区不卡 | 激情欧美一区二区三区中文字幕 |