单点登录接口

(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

响应示例:

获取PID/KEY      海贸网