简介
大部分的应用都需要对用户的业务访问进行身份认证,以便为用户提供个性化体验。但是端到端完整构建一套用户认证系统会面临很多挑战。认证服务可以为应用快速构建安全可靠的用户认证系统,开发者只需在应用中访问认证服务的相关能力,而不需要关心云侧的设施和实现。最近AGConnect推出了全新的统一登陆方式进行认证,不需要开发者自己接入华为帐号,微信,微博等第三方帐号系统,认证服务的SDK就可以自动帮开发者进行接入。今天就来教大家如何快速集成AGConnect全新的认证服务中的VK账号认证方式。
在AGC上开通认证服务并启用VK认证方式
在我的项目下选择你的开发项目,在构建下面,找到认证服务,点击开通。
没有Android项目的话,可以先自己创建一个。开通认证服务后,我们可以看到多种认证方式,找到VK认证方式,点击右侧的“启用”按钮将认证服务启用。
VK认证方式无需任何凭证,直接启用即可。
在VK创建应用
在VK管理台(Ошибка 429)创建应用,创建时需要输入应用包名与签名指纹信息。
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路径下。
功能开发
在认证服务推出统一的认证方式后,接入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