我正在设计一个授权服务,其他公共服务将在内部查询该服务,这些公共服务正在接收Authorization
请求中的标头。
该服务处理授权(一对公钥(user_id)和私钥),它的任务是重新生成签名(HMAC)-它是唯一知道私钥的服务-,所以我认为识别这个是正确的作为服务器资源。然后我认为没有用户就没有授权资源,所以我最终得到了这个基本 URI:
/user/:user_id/authorization
然后我设计了 CRUD 操作来处理授权,在创建新用户时创建,在请求时更新,在删除用户时读取和删除。
注意:用户实体由另一个服务处理,我仅使用此 URI 以逻辑方式传递公钥(因为它与用户严格相关)。
我不确定我应该如何从其他服务中查询此服务以说:“嘿,这个键对吗?” 与此请求一起传递重新生成签名所需的所有数据。
所以我需要的是一种以宁静的方式检查授权的方法
我已经坚持了这样的事情:
GET /user/:user_id/authorization?signature=SOMETHING&data=JSON-DATA-TO-REGENERATE-KEY
但也许,我们也可以看到它正在创建一个新的授权资源(如果没有返回,它不是令牌系统),从而使 PUT 或 POST 更适合此目的。
你的观点是什么?处理这种情况的正确方法是什么?