我正在编写一个需要与 web 服务交互的命令行工具,我希望能够使用用户的 ssh 密钥对其进行身份验证。我想知道我是否可以做这样的事情:
/auth/login
用户使用用户的用户 ID 向 url(比如 )发出请求。- 服务器知道用户的 ssh 公钥,并使用该密钥加密会话 id。
- 用户使用他们的私钥解密服务器的响应,并在每个后续请求中提供该会话 ID。
我想我的主要问题是:我刚刚重新发明了一个众所周知的安全机制吗?这听起来有点像 oauth,但我不确定它是否或如何映射到任何现有的 oauth 工作流程。