# SDK for Android

开发者在 Andorid 应用中,可以使用 Authing Java/Kotlin SDK 集成 Authing 服务。

# 集成方法

  1. 下载 jar 包并将 jar 包导入 lib

Jar 包下载地址:

将 Jar 包导入 lib,如下图所示:

  1. 配置 build.gradle
implementation "com.google.code.gson:gson:2.8.6"
implementation "com.squareup.okhttp3:okhttp:4.8.0"
implementation files('libs/core.jar')
implementation files('libs/commons-codec-1.15-rep.jar')
  1. 安装 Authing Java/Kotlin SDK

详细的安装指引请见:Authing Java/Kotlin SDK

# 使用示例

# Java

  • 使用用户池 ID 初始化 AuthenticationClient。
  • 调用 AuthenticationClient 的方法。
AuthenticationClient client = new AuthenticationClient("YOUR_USERPOOL_ID");

client.registerByEmail(new RegisterByEmailInput("xxx@qq.com", "123456")).enqueue(new cn.authing.core.http.Callback<cn.authing.core.types.User>() {
    @Override
    public void onSuccess(cn.authing.core.types.User user) {

    }

    @Override
    public void onFailure(@Nullable GraphQLResponse.ErrorInfo errorInfo) {

    }
});

# Kotlin

  • 使用用户池 ID 初始化 AuthenticationClient。
  • 调用 AuthenticationClient 的方法。
val authenticationClient = AuthenticationClient("YOUR_USERPOOL_ID")

authenticationClient.registerByEmail(
    RegisterByEmailInput(
        "xxx@.qq.com",
        "123456"
    )
).enqueue(object : cn.authing.core.http.Callback<User> {
    override fun onFailure(error: ErrorInfo?) {

    }

    override fun onSuccess(result: User) {

    }
})

# 用户注册登录

Authing Java SDK 支持手机号验证码、邮箱、用户名等多种注册登录方式,以手机号验证码登录为例:

  1. 发送验证码
String phone = "phone number";
authenticationClient.sendSmsCode(phone).execute();
  1. 使用验证码登录
String phone = "phone number";
String code = "1234";
User user = authenticationClient.loginByPhoneCode(new LoginByPhoneCodeInput(phone, code)).execute();

详细文档请见:用户注册登录 API

# 管理用户自定义数据

有关用户自定义数据的使用介绍请见:用户自定义字段,你可以在 Authing Java/Kotlin SDK 中获取、添加、删除用户自定义数据,详情请见:管理用户自定义数据

# 集成微信登录

你可以使用 AuthenticationClientloginByWechat 方法,所需四个参数均为微信返回的参数:

字段名 是否必填 类型 说明
code REQUIRED string 微信返回给 APP 的 code
country OPTIONAL string 微信返回给 APP 的 country
lang OPTIONAL string 微信返回给 APP 的 lang
state OPTIONAL string 微信返回给 APP 的 state
val authenticationClient = AuthenticationClient("YOUR_USERPOOL_ID")

val code = "#returned code from wechat#";

authenticationClient.loginByWechat(code).enqueue(object: cn.authing.core.http.Callback<User> {
    override fun onFailure(error: ErrorInfo?) {

    }

    override fun onSuccess(result: User) {
        val user = result
    }
})

# 其他

其他详细介绍请见:Authing SDK for Java/Android