使用OAuth2客户端凭据流程,有两个步骤向API发出经过身份验证的请求:
我不清楚的是,为什么不仅将客户端ID和机密传递给API,然后通过API与身份验证服务器一起验证客户端ID和客户端机密是有效的,这种流程的意义更大?
在我的特定情况下,身份验证服务器和API属于同一公司。
答案 0 :(得分:1)
使用令牌而不是发送clientID和密码的优势是:
关于iandayman的答复,客户端不必每次都与AuthServer通信以验证令牌。客户端可以从AuthServer获取公钥,将其缓存并用于验证令牌及其声明。大多数图书馆可能会为您处理。
答案 1 :(得分:0)
在许多与您类似的OAuth方案中(即Auth Server和Resource API是同一公司),资源服务器不需要联系Auth服务器来检查令牌是否有效。它可能只是验证令牌已由Auth服务器签名,然后直接将令牌中的数据用于基础数据源,从而节省了前往Auth Server的行程。
但是,如果将客户端凭据传递给API,则每次都需要连接到授权服务器以验证客户端凭据和范围仍然有效。
在请求中对凭证使用不记名令牌可能是一个更好的选择,使您能够尽快受益于Token Binding