如何快速集成Android版AGConnect认证服务-VK篇

2022-07-24 09:56:15

简介

大部分的应用都需要对用户的业务访问进行身份认证,以便为用户提供个性化体验。但是端到端完整构建一套用户认证系统会面临很多挑战。认证服务可以为应用快速构建安全可靠的用户认证系统,开发者只需在应用中访问认证服务的相关能力,而不需要关心云侧的设施和实现。最近AGConnect推出了全新的统一登陆方式进行认证,不需要开发者自己接入华为帐号,微信,微博等第三方帐号系统,认证服务的SDK就可以自动帮开发者进行接入。今天就来教大家如何快速集成AGConnect全新的认证服务中的VK账号认证方式。

在AGC上开通认证服务并启用VK认证方式

我的项目下选择你的开发项目,在构建下面,找到认证服务,点击开通。

没有Android项目的话,可以先自己创建一个。开通认证服务后,我们可以看到多种认证方式,找到VK认证方式,点击右侧的“启用”按钮将认证服务启用。

1.png

VK认证方式无需任何凭证,直接启用即可。

在VK创建应用

在VK管理台(Ошибка 429)创建应用,创建时需要输入应用包名与签名指纹信息。

2.png

APPID需要记住,后续使用。

在Android项目里集成SDK

 集成SDK

1、在项目级的gradle文件中添加华为Maven,即配置下面标红的内容。

buildscript {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.1'
        classpath 'com.huawei.agconnect:agcp:1.6.2.300'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

2、打开应用级的build.gradle文件,配置好华为认证服务的SDK(配置下面标红的内容即可),  注意别落了agcp插件。

apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
android {…..}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    implementation 'com.huawei.agconnect:agconnect-auth:1.6.2.300'
}

除了以上的认证服务主SDK外,我们还需要集成认证服务的facebook帐号包

dependencies {
implementation "com.huawei.agconnect:agconnect-auth-facebook:1.6.1.300"     
}

下载json文件,并且配置默认存储实例

在AGC界面上,选择 我的项目 -> 项目设置 -> 常规 下面,下载agconnect-services.json文件到你的Android项目的app路径下。

3.png

功能开发

在认证服务推出统一的认证方式后,接入VK账号认证服务变得非常简单。

首先我们需要在资源文件/app/res/values/strings.xml中配置VK应用的app_id(在创建VK应用时产生的APP ID):

<integer name="com_vk_sdk_AppId">8*****5</integer>

而后我们需要在AndroidManifest文件中添加网络请求的权限

<uses-permission android:name="android.permission.INTERNET"/>

在所有环境配置完成后,我们就可以真正开始VK的登录了。登录的步骤非常简单,只需要调用signin接口即可。

AGConnectAuth.getInstance().signIn(MainActivity.this, AGConnectAuthCredential.VK_Provider).addOnSuccessListener(new OnSuccessListener<SignInResult>() {
    @Override
    public void onSuccess(SignInResult signInResult) {
        textView.setText(signInResult.getUser().getUid());
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(Exception e) {
        textView.setText(e.getMessage());
    }
});

最后在onActivityResult中加入统一认证的统一回调接口

AGConnectApi.getInstance().activityLifecycle().onActivityResult(requestCode, resultCode, data);

以上我们就成功接入了Android版本认证服务中的VK帐号认证。如果觉得简单那就赶快行动起来试试吧。

欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

  • 作者:华为开发者论坛
  • 原文链接:https://hwdevelopers.blog.csdn.net/article/details/125633261
    更新时间:2022-07-24 09:56:15