关于android:Web-快速集成华为AGC认证服务

71次阅读

共计 2593 个字符,预计需要花费 7 分钟才能阅读完成。

目前,华为 AGC 认证服务曾经反对 Web 平台了,我这边依照官网文档进行了如下集成,有须要的小伙伴能够参考,也能够自行下载 Demo 钻研。

集成步骤

  1. 开明服务

a) 在 AGC 创立 JS 利用

b) 开明认证服务

c) 开明匿名账号,电话以及邮箱认证

  1. 集成 SDK

a) 将配置代码放入 login.vue 文件中

b) 在 IDE 的 terminal 中进入我的项目门路,执行命令装置 AGC JS SDK 到我的项目中,导入认证组件

  1. 接入性能

a) 匿名帐号

点击匿名登录按钮,绑定逻辑代码如下:

loginAnonymously() {console.log("JS-SDK login anonymously!");
   agconnect.auth().signInAnonymously().then(user => {
   // 登录胜利
   alert("匿名登录胜利");
   this.getUserInfo();}).catch(error => {
   // 登录失败
   alert(error)
   });
 
 },


匿名登录胜利后展现 UID:

b) 手机号码与邮箱认证(明码形式):

输出手机号 / 邮箱和明码进行登录:

loginByPwd() {console.log("JS-SDK auth(): login...")
 
   let credential = null;
 
   if (this.dataForm_sdk.password == '') {alert("Please typein password!");
     return;
   }
 
   switch (this.provider) {
     case 'phone':
     credential = agconnect.auth.PhoneAuthProvider.credentialWithPassword('86', this.dataForm_sdk.account, this.dataForm_sdk.password);
       break;
     case 'email':
     credential = agconnect.auth.EmailAuthProvider.credentialWithVerifyCode(this.dataForm_sdk.account, this.dataForm_sdk.password);
       break;
     default:
       break;
   }
   if (credential == null) {console.log("credential null!");
     return;
   }
   agconnect.auth().signIn(credential).then(res => {alert("登录胜利");
   this.getUserInfo();}).catch(err => {alert(err);
   });
 },

c) 手机号码与邮箱认证(验证码形式):

输出手机号 / 邮箱后点击获取验证码:

getVerifyCode() {console.log("request for email verifycode...")
   this.dataForm_sdk.verifyCode = '';
   switch (this.provider) {
     case 'phone':
     // 获取验证码
     agconnect.auth.PhoneAuthProvider.requestVerifyCode('86', this.dataForm_sdk.account,agconnect.auth.Action.ACTION_REGISTER_LOGIN, 'zh_CN', 90).then(ret => {
     // 验证码申请胜利
     alert("获取验证码胜利");
     }).catch(error => {
     // 验证码申请失败
     alert("获取验证码失败");
     });
       break;
     case 'email':
     agconnect.auth.EmailAuthProvider.requestVerifyCode(this.dataForm_sdk.account, agconnect.auth.Action.ACTION_REGISTER_LOGIN, 'zh_CN', 120).then(ret => {
              // 验证码申请胜利
          alert("获取胜利");
         }).catch(error => {
             // 验证码申请失败
             alert(error)
         });
  
       break;
     default:
       break;
   }
 },

获取验证码后进行登录:

loginByVerifyCode() {if (this.dataForm_sdk.verifyCode == '') {alert("Please typein verifycode!");
     return;
   }
  
   let credential = null;
  
   switch (this.provider) {
     case 'phone':
     credential = agconnect.auth.PhoneAuthProvider.credentialWithVerifyCode('86', this.dataForm_sdk.account, this.dataForm_sdk.password, this.dataForm_sdk.verifyCode);
       break;
     case 'email':
     credential = agconnect.auth.EmailAuthProvider.credentialWithVerifyCode(this.dataForm_sdk.account, this.dataForm_sdk.password, this.dataForm_sdk.verifyCode);
       break;
     case 'QQ':
       break;
     case 'weChat':
       break;
     default:
       break;
   }
  
   if (credential == null) {console.log("credential null!")
     return;
   }
   agconnect.auth().signIn(credential).then(res => {alert("登录胜利");
   this.getUserInfo();}).catch(err => {alert(err);
   });
 },

总结:
华为 AGC 认证服务反对的认证形式还是比拟全的,整个认证过程也不简单,对于开发者比拟敌对。

欲了解更多详情,请参见:

华为 AGC 认证服务 -Demo:https://github.com/AppGallery…

原文链接:https://developer.huawei.com/…
原作者:Mayism

正文完
 0