使用参考

一、YunID SDK API 接口

1、获取账号idToken

/**
*      名称              类型          是否必选       说明
*  identityId          String          选填      账号ID,填写了会校验
*idTokenDuration       String          选填      设置过期时间,默认1小时,最长1天
*  loginsJson     String(MAP=>JSON)    必填      三方账号平台登录凭证,key为接入平台的账号认证提供商IDP(IdentityProvider)名称,value为IDP提供的授权token。目前最多支持一次传入一组key/value对。
*  deviceInfo     String(MAP=>JSON)    选填      设备环境信息,如deviceModel,uuid,vin,serialNumber,hardwareId,deviceId,deviceToken等信息
*/
public static void getIdentityIdAndIdToken(String identityId, String idTokenDuration, String loginsJson, String deviceInfo, GetIdentityIdAndIdTokenCallback callback);

public static void getIdentityIdAndIdToken(String identityId, String idTokenDuration, String loginsJson, GetIdentityIdAndIdTokenCallback callback);

public static void getIdentityIdAndIdToken(String loginsJson, GetIdentityIdAndIdTokenCallback callback);

//callback
public interface GetIdentityIdAndIdTokenCallback {
    void onGetIdentityIdAndIdToken(String idToken, String identityId, long expireAt);
    void onError(int code, String msg);
}

2、根据三方账号登录凭证查询或创建IA ID

//loginsJson     String(MAP=>JSON)    必填      三方账号平台登录凭证,key为接入平台的账号认证提供商IDP(IdentityProvider)名称,value为IDP提供的授权token。目前最多支持一次传入一组key/value对。
public static void getIdentityId(String loginsJson, GetIdentityIdCallback callback);

//callback
public interface GetIdentityIdCallback {
    void onGetIdentityId(String idToken, String identityId, long expireAt);
    void onError(int code, String msg);
}

3、根据账号ID申请token

public static void getIdToken(String identityId, String idTokenDuration, String loginsJson, String deviceInfo, GetIdTokenCallback callback);

public static void getIdToken(String identityId, String loginsJson, String deviceInfo, GetIdTokenCallback callback);

public static void getIdToken(String identityId, String loginsJson, GetIdTokenCallback callback);

//callback
public interface GetIdTokenCallback {
    void onGetIdToken(String idToken, String identityId, long expireAt);
    void onError(int code, String msg);
}

二、错误信息说明

错误码

错误内容

错误可能原因

501

SYS_INVALID_PARAMS

关键参数缺失

10000

SERVER_ERROR

内部系统异常

10001

IDP_SERVER_ERROR

三方账号服务异常

10002

IDP_NULL

ipd参数为空

10003

IDP_INVALID

idp参数无效

10004

LOGINS_INVALID_PARAMS

logins参数解析异常

10008

DEVICE_TOKEN_ERROR

设备token已过期

10009

DEVICE_INFO_INVALID

设备信息解析异常(非法JSON)

10101

INSERT_ALIYUN_OPEN_ACCOUNT_FAILED

创建账号失败

10102

INSERT_OPEN_ACCOUNT_LINK_FAILED

创建映射关系失败

20001

IDENTITYID_NOT_EXIST

identityId不存在

20002

IDENTITYID_NULL

参数identityId缺失

20003

ACCOUNT_LINK_OBJECT_NULL

账号映射关系异常

20004

ACCOUNT_NOT_EXIST

账号不存在

20005

OPENID_NOT_EXIST

openId不存在

20006

ACCOUNT_LINK_NOT_EXIST

账号映射关系不存在

20007

IDP_ACCESS_TOKEN_AUTHORIZE_FAILED

三方账号平台token验证失败

40001

IDP_OPENID_ALREADY_EXIST

openId重复注册

40002

IDP_IDENTITYID_ALREADY_EXIST

identityId重复注册

50001

GET_IDENTITYID_FAILED

获取identityId失败

50002

IDENTITY_NOT_FOUND_OR_FREEZE

账号不存在或已被冻结

50005

OPEN_ACCOUNT_FREEZE

账号被冻结

60001

GET_IDTOKEN_FAILED

获取idToken失败

60002

GET_IDTOKEN_NULL

idToken为空

60003

IDTOKEN_EXPIRED

idToken过期

60004

IDTOKEN_NO_PERMISSION

idToken无权限

60005

IDTOKEN_DURATION_INVALID

idToken有效期格式无效

70001

GET_STS_TOKEN_FAILED

获取stsToken失败

70002

STS_TOKEN_RETURN_NULL

stsToken返回为空

70003

STS_TOKEN_SERVER_ERROR

stsToken服务异常

70100

STS_ACCESS_KEY_NOT_EXIST

stsAccessKey不存在

70101

STS_ACCESS_KEY_PARAM_INVALID

stsAccessKey参数解析非异常

70102

STS_ACCESS_KEY_INVALID

stsAccessKey参数非法

70103

STS_ACCESS_KEY_SECRET_INVALID

stsAccessSecret参数非法

70104

STS_ACCESS_NAME_INVALID

stsAccessName参数非法

70105

STS_AUTHORIZE_UID_INVALID

stsAuthorizeUid非法

70106

ADD_ACCESS_KEY_FAILED

增加stsAccessKey失败

70107

UPDATE_ACCESS_KEY_FAILED

更新stsAccessKey失败

70108

REMOVE_ACCESS_KEY_FAILED

删除stsAccessKey失败

80001

IDENTITY_POOL_POLICE_NOT_EXIST

账号访问阿里云资源授权策略不存在

80002

ROLE_PARAM_INVALID

参数role无效

80003

ACCESS_NAME_PARAM_INVALID

参数accessName无效

80004

IDENTITY_POLICY_PARAM_INVALID

账号访问阿里云资源授权策略无效