稳定可靠的OAuth客户端证明



在OAuth中,client_id和client_secret足以证明您是客户端。我认为这还不够,所以我考虑添加客户端的权限检查(例如,如果他的域与存储在服务器数据库中的域相匹配),但是起源头可以被任何人伪造。客户的权威是否有可靠的依据?我有一个想法,但它似乎很弱,因为在这个想法中,服务器必须向客户端发送请求,以确认他发送了请求,而不是其他人。换句话说,是否有可能唯一地标识http请求的源?

有两种更强的OAuth客户端秘密形式,其中发送加密私钥的所有权证明:

  • 客户端证书
  • 客户端断言

这两种方法都不会泄露HTTP消息中的秘密。它们是标准的解决方案,并且被广泛使用。

第一个选项往往需要一个额外的令牌端点,需要相互TLS,而第二个选项可能更容易管理。

最新更新