Skip to content

langkye/awesome-uia-sdk

Repository files navigation

Awesome Uia SDK - Java


Supports

SDK Version Description
Bjtoon 1.1+ authenticate with “北京市统一身份认证平台(自然人)
Yztoon None authenticate with “北京市统一身份认证平台(法人)
Jban None authenticate with “京办
Weixin None authenticate with “微信
Alipay 4.38.90.ALL+ authenticate with “支付宝
Github None authenticate with “Github
Gitee None authenticate with “Gitee
Google None authenticate with “Google
Gitlab None authenticate with “Gitlab
Weibo None authenticate with “Weibo

Usage

Add dependency

Maven

<dependency>
    <groupId>cn.lnkdoc.sdk</groupId>
    <artifactId>awesome-uia-sdk</artifactId>
    <version>${awesome-uia-sdk.version}</version>
</dependency>

Gradle

  • groovy dsl

    // https://mvnrepository.com/artifact/cn.lnkdoc.sdk/awesome-uia-sdk
    implementation 'cn.lnkdoc.sdk:awesome-uia-sdk:${awesome_uia_sdk_version}'
  • kotlin dsl

    // https://mvnrepository.com/artifact/cn.lnkdoc.sdk/awesome-uia-sdk
    implementation("cn.lnkdoc.sdk:awesome-uia-sdk:${awesome_uia_sdk_version}")

Examples

Bjtoon(北京通)

Java
  • Authenticate

    // load property
    cn.lnkdoc.sdk.uia.instance.bjtoon.property.BjtoonProperty property = new cn.lnkdoc.sdk.uia.instance.bjtoon.property.BjtoonProperty();
    property.setDomain("https://bjt.beijing.gov.cn/renzheng");
    property.setClientId("");
    property.setClientSecret("");
    property.setPrintStack(true);
    
    String code = "";
    
    // build instance
    cn.lnkdoc.sdk.uia.instance.ISdkInstance instance = cn.lnkdoc.sdk.uia.UiaSdkInstance.getInstance(property);
    
    // build request
    cn.lnkdoc.sdk.uia.instance.bjtoon.request.AccessTokenRequest request = new cn.lnkdoc.sdk.uia.instance.bjtoon.request.AccessTokenRequest();
    request.setBody(code);
    
    // execute
    cn.lnkdoc.sdk.uia.common.response.UiaResponse<cn.lnkdoc.sdk.uia.instance.bjtoon.domain.AccessToken> executeResponse = instance.getAccessToken(request);
    
    // check success
    if (executeResponse.isFailed()) {
        throw new RuntimeException(executeResponse.getMessage());
    }
    
    // accessToken
    cn.lnkdoc.sdk.uia.instance.bjtoon.domain.AccessToken accessToken = executeResponse.getData();
  • Get UserInfo

    // load property
    cn.lnkdoc.sdk.uia.instance.bjtoon.property.BjtoonProperty property = new cn.lnkdoc.sdk.uia.instance.bjtoon.property.BjtoonProperty();
    property.setDomain("https://bjt.beijing.gov.cn/renzheng");
    property.setClientId("");
    property.setClientSecret("");
    property.setPrintStack(true);
    
    String accessToken = "";
    
    // build instance
    cn.lnkdoc.sdk.uia.instance.ISdkInstance instance = cn.lnkdoc.sdk.uia.UiaSdkInstance.getInstance(property);
    
    // build request
    cn.lnkdoc.sdk.uia.instance.bjtoon.request.UserInfoRequest request = new cn.lnkdoc.sdk.uia.instance.bjtoon.request.UserInfoRequest();
    request.setBody(accessToken);
    
    // execute
    cn.lnkdoc.sdk.uia.common.response.UiaResponse<cn.lnkdoc.sdk.uia.instance.bjtoon.domain.UserInfo> executeResponse = instance.getUserInfo(request);
    
    // check success
    if (executeResponse.isFailed()) {
        throw new RuntimeException(executeResponse.getMessage());
    }
    
    cn.lnkdoc.sdk.uia.instance.bjtoon.domain.UserInfo userInfo = executeResponse.getData();
Kotlin
  • Authenticate
    // load property
    val property = cn.lnkdoc.sdk.uia.instance.bjtoon.property.BjtoonProperty()
    property.domain = "https://bjt.beijing.gov.cn/renzheng"
    property.clientId = ""
    property.clientSecret = ""
    property.printStack = true
    
    // third-party platform's code
    val code = ""
    
    // build instance
    val instance = cn.lnkdoc.sdk.uia.UiaSdkInstance.getInstance(property)
    
    // build request
    val request = cn.lnkdoc.sdk.uia.instance.bjtoon.request.AccessTokenRequest()
    request.body = code
    
    // execute
    val executeResponse = instance.getAccessToken<cn.lnkdoc.sdk.uia.instance.bjtoon.domain.AccessToken, cn.lnkdoc.sdk.uia.instance.bjtoon.request.AccessTokenRequest>(request)
    
    // check success
    if (executeResponse.isFailed) {
        throw RuntimeException(executeResponse.message)
    }
    
    val accessToken = executeResponse.data
  • Get UserInfo
    // load property
    val property = cn.lnkdoc.sdk.uia.instance.bjtoon.property.BjtoonProperty()
    property.domain = "https://bjt.beijing.gov.cn/renzheng"
    property.clientId = ""
    property.clientSecret = ""
    property.printStack = true
    
    val accessToken = ""
    
    // build instance
    val instance = cn.lnkdoc.sdk.uia.UiaSdkInstance.getInstance(property)
    
    // build request
    val request = cn.lnkdoc.sdk.uia.instance.bjtoon.request.UserInfoRequest()
    request.body = accessToken
    
    // execute
    val executeResponse = instance.getAccessToken<cn.lnkdoc.sdk.uia.instance.bjtoon.domain.UserInfo, cn.lnkdoc.sdk.uia.instance.bjtoon.request.UserInfoRequest>(request)
    
    // check success
    if (executeResponse.isFailed) {
        throw RuntimeException(executeResponse.message)
    }
    
    val userInfo = executeResponse.data

More Examples:

See: src/main/kotlin/cn/lnkdoc/sdk/uia/example