OAuth2能否将URI重定向至客户端应用程序公开授权码?

hyrbngr7  于 2022-10-08  发布在  其他
关注(0)|答案(1)|浏览(233)

假设我们有一个客户端SPA和一个应用程序API:

  • myapp.com
  • api.myapp.com

使用OAuth2授权码流,我们需要指定redirect_uri。我认为最好的做法是永远不要将access_tokenauthorization_code暴露在前端。

我看到很多例子,建议注册指向SPA和本地移动应用程序的客户端应用程序的重定向URI。例如:https://www.oauth.com/oauth2-servers/redirect-uris/

您应该将重定向URI注册为myapp.com/callback还是api.myapp.com/callback?每种方法的优缺点是什么?

fslejnso

fslejnso1#

您只需将后端API端点配置为重定向URI即可。

原因是,您必须使用令牌端点来交换访问令牌的授权码,如果您在后端服务器中这样做,尤其是当您的OAuth客户端是机密客户端(配置了机密的客户端)时,这将是有意义的

与机密OAuth客户端的用户界面中的令牌交换授权码将在前端暴露客户端的秘密,我不建议这样做

如果您的OAuth客户端是公共客户端,并且您有SPA,但您没有服务器或后端API,则可以将SPA URL配置为重定向URI。在这种情况下,我建议您使用“使用PKCE的授权码”流程,该流程希望您提供代码质询和代码验证器。

但是在您的例子中,因为您已经拥有一个后端服务器,所以我建议您使用后端API作为重定向URI

相关问题