我知道,一旦发出授权调用,授权服务器将重定向到随auth代码提供的回调url。在获得auth代码后,谁应该执行令牌调用?它是来自UI还是来自后端?请解释一下背后的逻辑。
如果后端,如何跟踪重定向到后端?
我是不是误解了OAuth的概念?任何事情都是非常感谢的。谢谢。
发布于 2018-12-07 11:09:15
应该在后端初始化OAuth2授权代码流。后端还应该处理来自授权服务器的重定向(其中包含auth代码)。您可能需要一个客户端秘密来访问令牌端点,您必须将它保存在后端,因为在浏览器中不可能保证它的安全。
你不需要跟随重定向。重定向总是导致某些浏览器->服务器(后端)调用,因为浏览器处理重定向正在创建一个HTTP。
有不同的OAuth2流为不同的用例设计。要使用哪一个,这在很大程度上取决于您想要如何使用它,以及您的基础设施是什么样子(您可以在更清楚的时候提出一个新的问题)。如果您想了解更多关于OAuth2的知识,我建议您阅读它的RFC。它写得很好,容易阅读,不漏掉任何重要的细节。还有一个名为OAuth2协议的扩展,称为OpenID连接,用于更多的身份验证。
发布于 2018-12-07 05:52:20
我想这两种方法都可以做到。但是对于authorization code grant流,我建议您使用后端。在可用的OAuth流中,implicit grant通常用于单页应用程序。因此,这是通过浏览器本身完成的。但如今,他们更喜欢在温泉浴场使用auth代码。在调用令牌端点时,您将需要机密信息(如client_secret )。因此,最好使用后端来获取令牌,而不是使用前端。
https://stackoverflow.com/questions/53655179
复制相似问题