单点登录接口
(1) 接口描述
请求方法 GET ${API_URL}/sso/login
接口说明 用户单点登录
(2) 请求参数
字段名称 类型 是否必填 字段说明
appid string 是 接口调用方唯一标识
encryptjson string 是 单点登录json字符串信息加密后的密文,加密后urlencode编码两次。AES256加密算法见下面说明,测试环境加密密钥为:d4c5afb7a2831dddea8322ecfb1a591f
encryptjson参数json中的字段说明如下:
originurl string 是 单点失败后跳转的url
logintime long 是 登录时间戳,用于判断登录是否超时,超过10分钟,则单点登录失败,返回originurl
mobile string 是 注册时传的手机号码
cname string 是 注册时传的公司名称
password string 是 登录密码,SHA-1密文,算法见注册接口
AES256加密算法:
public static String encrypt(String mingwen) throws Exception {
String keys = “d4c5afb7a2831dddea8322ecfb1a591f”;
byte[] encrypt = null;
try{
Key key = new SecretKeySpec(keys.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, key);
encrypt = cipher.doFinal(mingwen.getBytes());
}catch(Exception e){
e.printStackTrace();
}
return new String(Base64.encodeBase64(encrypt));
}
示例:
encryptjson未加密前的json字符串:
{"originurl":"http://www.baidu.com","logintime":1471247658847,"password":"7C4A8D09CA3762AF61E59520943DC26494F8941B","cname":"测试公司2","mobile":"13212121212"}
加密后的密文再经过两次urlencode后,为示例URL上的encryptjson参数
正式环境密钥请联系海贸技术人员
单点登录url:
${API_URL}/sso/login?appid=your32bitappid&encryptjson=%252FBJUOWy5WvYykNh%252BJtxyDVAgh9njydlGBJJXHSCwql3AFIzF1TXOWyk1CJzI8EeruOyEQnwtOvUXWxU9cEVzb%252B7HGCtaPq%252B%252FglX9NGDvwlBhPqII8DXEYyQODayUPpBGtOCmEJ7d7Hl91ShNavHA9SF4zPSxRdc%252FpebJc7Lq6mxcb25sWkO35RZplq7b2cb4PzOnpgTL%252Fu7OEIeiksmBjIINL1ma5BtYSkgs9sqQ9Qc%253D
(3)响应参数
单点失败,则跳转回调用方传的originurl
响应示例:
无
