我计划部署一个单独的资源服务器和一个授权服务器,两者都运行在Django oauth工具包上。假设使用我们API服务的客户端或应用程序在同一个组织中,并将托管他们的前端来使用我们的API,用户将在他们的一侧登录,我们只需要授权那些客户端(运行应用程序的客户端)。我应该使用哪种授权类型?
mwyxok5s1#
RFC 7636: Proof Key for Code ExchangePKCE(RFC 7636)是Authorization Code flow的扩展,用于防止CSRF和授权代码注入攻击。PKCE不能替代客户端密码,即使客户端正在使用客户端密码,也建议使用PKCE。注意:因为PKCE不能取代客户端验证,所以它不允许将公共客户端视为机密客户端。PKCE最初设计用于保护移动的应用程序中的授权代码流,但它防止授权代码注入的能力使其对每种类型的OAuth客户端都很有用,甚至对使用客户端机密的Web应用程序也是如此。
1条答案
按热度按时间mwyxok5s1#
RFC 7636: Proof Key for Code Exchange
PKCE(RFC 7636)是Authorization Code flow的扩展,用于防止CSRF和授权代码注入攻击。
PKCE不能替代客户端密码,即使客户端正在使用客户端密码,也建议使用PKCE。
注意:因为PKCE不能取代客户端验证,所以它不允许将公共客户端视为机密客户端。
PKCE最初设计用于保护移动的应用程序中的授权代码流,但它防止授权代码注入的能力使其对每种类型的OAuth客户端都很有用,甚至对使用客户端机密的Web应用程序也是如此。