用户账号

更新时间:2019-02-22 15:18:26

用户账号OA SDK

概述

基于Oauth2.0协议,提供快速对接自有账号的能力,满足开发者在web开发中对接自有账号体系的需求。

接入说明

SDK包

下载链接:下载地址

环境准备

在接入账号前,请先设置好环境信息,请参见:自有账号登录流程说明

接入步骤

  1. 在pom.xml中添加如下依赖:
    <dependency>
     <groupId>com.aliyun.api.gateway</groupId>
     <artifactId>sdk-core-java</artifactId>
     <version>1.1.0</version>
    </dependency>
    <dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.52</version>
    </dependency>
    

2 引入SDK的API接口调用类
把sdk文件夹中所有Group(cn-shanghai)的通道类OpenAccount_http_*.javaOpenAccount_https_*.java文件复制到您的项目文件夹中;

3 初始化通信通道类
要提交请求至阿里云API网关,您首选要将所有的通道类初始化。您可以参考SDK中 Demo_*.java中的示例代码,使用对应的ClientBuilderParams类来初始化所有通道

4 API调用
参考SDK中Demo_*.java中的示例代码loginByOauthHttpTestloginByOauthHttpsTest
loginByOauthRequest参数的格式为
"{\"authCode\":\"2c7360fa72f44104b3e9527testtest\",\"oauthAppKey\":\"5017092208811922\",\"oauthPlateform\":23,\"riskControlInfo\":{\"signType\":\"RSA2\",\"createAccountIfNotExist\":\"true\"}}"

oauthPlateform固定填23
正确的返回数据:

{
    "code":1,
    "data":{
        "checkCodeResult":null,
        "doubleCheckToken":"",
        "doubleCheckUrl":"",
        "ivCancelTrustToken":"",
        "ivRecreateAccountTrustToken":"",
        "loginSuccessResult":{
            "initPwd":"null",
            "oauthOtherInfo":{
                "gender":"0",
                "avatarUrl":null,
                "platformType":23,
                "iotOauthPlatform":23
            },
            "openAccount":{
                "alipayId":"",
                "avatarUrl":"",
                "bankCardNo":"",
                "bankCardOwnerName":"",
                "birthday":"",
                "companyName":"",
                "country":"",
                "createAppKey":"",
                "createDeviceId":"",
                "createLocation":"",
                "displayName":"test User",
                "domainId":7222711,
                "email":"",
                "enableDevice":true,
                "extInfos":"",
                "gender":null,
                "gmtCreate":null,
                "gmtModified":null,
                "hasPassword":false,
                "id":379629,
                "isvAccountId":"",
                "locale":"",
                "loginId":"",
                "loginPwd":"",
                "loginPwdEncryption":null,
                "loginPwdIntensity":null,
                "loginPwdSalt":"",
                "mobile":"",
                "mobileConflictAccount":false,
                "mobileLocationCode":"86",
                "name":"",
                "oauthPlateform":null,
                "openId":"testj0ab77a73329",
                "parentId":null,
                "pwdVersion":0,
                "securityEmail":"",
                "securityMobile":"",
                "status":1,
                "subAccount":false,
                "tag":null,
                "type":null,
                "version":null,
                "wangwang":"",
                "weixin":""
            },
            "reTokenExpireIn":7776000,
            "refreshToken":"OA-testtestc1d4049fab7c47e0579139be7",
            "sid":"test",
            "sidExpireIn":86400,
            "token":"Uftdh_ctest-test",
            "uidToken":"null",
            "weiboResetPwdToken":""
        },
        "mobileBindRequired":false,
        "redirectUrl":"",
        "smsCheckTrustToken":"",
        "userInputName":""
    },
    "deviceId":"",
    "message":"SUCCESS",
    "subCode":0,
    "successful":true,
    "traceId":"0a98a36815504759274668231e6c1d",
    "type":"",
    "vid":"testd253fa9a0d5c0"
}

公共错误码

网关错误

错误代码 Http 状态码 语义 解决方案
Throttled by USER Flow Control 403 因用户流控被限制 调用频率过高导致被流控,可以联系 API 服务商协商放宽限制。
Throttled by APP Flow Control 403 因APP流控被限制 调用频率过高导致被流控,可以联系 API 服务商协商放宽限制。
Throttled by API Flow Control 403 因 API 流控被限制 调用频率过高导致被流控,可以联系 API 服务商协商放宽限制。
Throttled by DOMAIN Flow Control 403 因二级域名流控被限制 直接访问二级域名调用 API,每天被访问次数上限1000次。
TThrottled by GROUP Flow Control 403 因分组流控被限制 调用频率过高导致被流控,可以联系 API 服务商协商放宽限制。
Quota Exhausted 403 调用次数已用完 购买的次数已用完。
Quota Expired 403 购买次数已过期 购买的次数已经过期。
User Arrears 403 用户已欠费 请尽快充值续费。
Empty Request Body 400 body 为空 请检查请求 Body 内容。
Invalid Request Body 400 body 无效 请检查请求 Body。
Invalid Param Location 400 参数位置错误 请求参数位置错误。
Unsupported Multipart 400 不支持上传 不支持上传文件。
Invalid Url 400 Url 无效 请求的 Method、Path 或者环境不对。请参照错误说明 Invalid Url。
Invalid Domain 400 域名无效 请求域名无效,根据域名找不到 API。请联系 API 服务商。
Invalid HttpMethod 400 HttpMethod 无效 输入的 Method 不合法。
Invalid AppKey 400 AppKey 无效或不存在 请检查传入的 AppKey。注意左右空格的影响。
Invalid AppSecret 400 APP 的Secret 错误 检查传入的 AppSecret。注意左右空格的影响。
Timestamp Expired 400 时间戳过时 请核对请求系统时间是否为标准时间。
Invalid Timestamp 400 时间戳不合法 请参照 请求签名说明文档。
Empty Signature 404 签名为空 请传入签名字符串,请参照 请求签名说明文档。
Invalid Signature, Server StringToSign:%s 400 签名无效 签名无效,参照 Invalid Signature 错误说明
Invalid Content-MD5 400 Content-MD5 值不合法 请求 Body 为空,但传入了 MD5 值,或 MD5 值计算错误。请参照 请求签名说明文档。
Unauthorized 403 未被授权 APP 未获得要调用的 API 的授权。请参照错误说明 Unauthorized。
Nonce Used 400 SignatureNonce 已被使用
API Not Found 400 找不到 API 传入的APIdi地址或者HttpMethod不正确,或已下线。

服务器端错误(调用 API)

以下为API服务端错误,如果频繁错误,可联系服务商。

错误代码 Http状态码 语义 解决方案
Internal Error 500 内部错误 建议重试,或者联系服务商
Failed To Invoke Backend Service 500 底层服务错误 API 提供者底层服务错误,建议重试,如果重试多次仍然不可用,可联系 API 服务商解决
Service Unavailable 503 服务不可用 建议重试,或者联系服务商
Async Service 504 后端服务超时 建议重试,或者联系服务商

results matching ""

    No results matching ""