简要描述:
登录验证
请求URL:
WebAPI/Login/ClientLogin
请求方式:
POST
参数:
| 字段 | 类型 | 长度 | 必选 | 说明 |
|---|---|---|---|---|
| JKeypublic | nvarchar | 500 | 是 | RSA2048 公钥 |
| Loginciphertext | nvarchar | 2000 | 是 | 使用RSA2048 公钥 加密(账套名,操作员,密码)后的内容 |
登录demo 参考 https://gitee.com/ucgsai/RSADemo
固定公钥:
publicKey = -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArfOzx+LjKF+BZKcbriPu rWwmlrif+fQvZyqQq6hG8SWZRE52Ahp++3Fem79XdAu3U5jumvOeEKAfXMCClsfV G9EqhLNSVA7Xb8zgnVelSHMPg9r2LX73nPSK28r3SoHAAuVNrva8f94koCYV8zym I6W3duhDL/bfQDUkFS3MJcUb8bQcaxupKPLkxImBYGAjI3ceSMi984CFCcS8D6yU tWGnxqy/nZVrfws7eI72FSpa2JaWkp7Bqm27bAMnirMx27rRN9uatHLjGBS60yrO kZ1UJDkffi9tyOEIaEbNvUJWMH9rSAqiMpWH9Qdo9Vre4heMwNaxcFheYfty/o8Q aQIDAQAB -----END PUBLIC KEY-----
rsa加密示例
jsencrypt库地址jsencrypt库地址
// * 使用固定的私钥加密
function RSA_Pkey_encrypt() {
var encrypt1 = new JSEncrypt();
encrypt1.setPublicKey(publicKey);
return encrypt1
};
Loginciphertext = RSA_Pkey_encrypt().encrypt([账套名,操作员,密码].join(','));返回示例
{
"RetCode": 1,
"ErrCode": 0,
"ErrDesc": '',
"RetData": {
"AKeyciphertext":"LgfkxLz5PI1NZIFIFkQCi8vk1wKUgdspr3p+PXGqkPbTLYkc7nOBcrRa2RfGWx6m164NzH+SPpRXhKltyXbgTi1iV3L4J9VUrGzYrBnbXlIMjNrORyIhaSuBfonmU1bbCmKdVyY5X5h9FKobiTD/yXjIQtfWHYsyQizHd6fjtHn97nAOjoq7Pn6RYJOw9VMCe0EQcJo/G7GHMlrHYKHhuQe+7b3M8kxvaUa0301q8FOf+gKXH42GoKrKGQdePj8e+e2x1YqSO9KU9XfjcIqqNq1F6yeNXUXe5SOoTA8RDJleKslbYE4ZaO8JIKvUl0uEosKHZvxkrL8UaIsTrGDnxw==",
"AKey":"y0nwf9aU4hRq+NGwkssvS1XEZ+nIzai7darV/RMDNJw=",
"AIV":"MIvf2rgeT/AJCpZ/Tg9pLg==",
"SHA256":"49EE808BCE5DCED2B7F5C25172348D89264F576599DB6E0E1C619B0BB6754316"
}
}| 名称 | 说明 |
|---|---|
| AKey | 作为AES的Key值,用来加密或解密服务器接口返回的敏感信息,例如新增、修改人事信息的密码。修改门禁属性的火警密码等 |
| AIV | 作为AES的IV值,用来加密或解密服务器接口返回的敏感信息,例如新增、修改人事信息的密码。修改门禁属性的火警密码等 |
| AKeyciphertext | 服务器使用 RSA 秘钥加密 AKey 的内容 |
| SHA256 | 使用SHA256 验证服务器返回 AKeyciphertext 是否与 客户端使用 RSA 公钥解密的内容是否一致 |
返回参数说明
RetCode:1--表示成功;0--表示失败;
操作员ID:整型值;
说明 登录成功后系统会记录 http请求生成的 key为 WebUser 的 cookie ,并返回这个cookie。cookie有效期为1小时,请在下次发起http请求时携带上这个cookie。
如果cookie 过期或者没有携带cookie 需要重新登录。如果在cookie剩余半个小时内发起http请求,服务器会为这个cookie 续期。
ErrCode 错误代码字典:
| 数字 | 含义说明 |
|---|---|
| 1 | 套账名无效 |
| 2 | 服务器数据库配置错误! |
| 3 | 客户套账数据库配置错误! |
| 4 | 操作员或密码错误 |
| 8 | JKeypublic 为空 |
| 9 | Loginciphertext 为空 |
| 10 | JKeypublic 长度最大500个字符 |
| 11 | Loginciphertext 长度最大2000个字符 |