签名登录调用流程(草稿)
-
用户将私钥保存在签名app中,登录应用A时,由应用A向签名app提出签名登录请求,具体流程如下:
- 用户向应用A提出登录请求,注明cid
- 应用A查询cid对应地址
- 应用A组织好message的内容和地址,发送给签名app
{ "message": { "requestor":" [cid, sid or url]", "operation": "login", "expiredate": "[unix absolute time]", // 签名授权的有效期 "timestamp": "[unix time]" }, "address": "[FCH address of the user]" }
- 签名app检查timestamp不超过规定时间,如10秒。
- 签名app显示待签名内容给用户确认。
- 签名app找到地址对应私钥,对message内容签名,将所有三项内容返回给应用A。
{ "message": { "requestor": "[cid, sid or url]", "operation": "login", "expiredate": "[unix absolute time]", // 签名授权的有效期 "timestamp": "[unix time]" }, "address": "[FCH address of the user]", "signature": "[signature of message signed by the private key of the address]" }
- 应用A验证:
1)Timestamp不超过特定时间,如3分钟,
2)opreation无误,
3)签名无误。 - 应用A准许登录,并在expiredate到期时停止登录状态。