Web | 快速集成华为AGC认证服务


目前,华为AGC认证服务已经支持Web平台了,我这边按照官方文档进行了如下集成,有需要的小伙伴可以参考,也可以自行下载Demo研究。

集成步骤

  1. 开通服务

a) 在AGC创建JS应用

 

 

 

b)  开通认证服务

 

 

 

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

 

 

 

2. 集成SDK

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

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

3. 接入功能

a) 匿名帐号

 

 

 

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

1
2
3
4
5
6
7
8
9
10
11
12
loginAnonymously() {
    console.log( "JS-SDK login anonymously!" );
    agconnect.auth().signInAnonymously().then(user => {
    //登录成功
    alert( "匿名登录成功" );
    this .getUserInfo();
    }). catch (error => {
    //登录失败
    alert(error)
    });
  
  },

 

 

 

匿名登录成功后展示UID:

 

 

 

b)         手机号码与邮箱认证(密码方式):

 

 

 

输入手机号/邮箱和密码进行登录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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)  手机号码与邮箱认证(验证码方式):

 

 

 

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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 ;
    }
  },

获取验证码后进行登录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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/AppGalleryConnect/agc-web-demos/tree/master/agc-authservice-demo-javascript

 

原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0202441157943300413?fid=0101271690375130218

原作者:Mayism


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM