简要描述:
登录验证
请求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个字符 |