一、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 | 账号访问阿里云资源授权策略无效 |