【问题标题】:OpenID connect implicit flow responseOpenID 连接隐式流响应
【发布时间】:2015-02-25 04:25:19
【问题描述】:

在授权请求 (3.1.2.1) 和身份验证响应 (3.1.2.5) 之间,授权服务器负责验证请求、验证用户并在发送响应之前获得用户同意。

http://openid.net/specs/openid-connect-core-1_0.html#ImplicitFlowAuth

这在 SPA 应用程序中应该如何工作?

如果我发出 ajax 请求,授权服务器将无法对用户进行身份验证(我不知道如何验证,因为没有 cookie、http-header 或 url 片段告诉授权服务器用户是谁)。如果我将用户重定向到身份验证端点,我的 SPA 将被卸载。由于我没有服务器 redirect_uri(我理解这是隐式流的全部意义?)端点永远无法再次到达我的 SPA。

显然我错过了一些东西。身份验证和用户授权 chrome 应该如何在隐式流程中向用户显示?

【问题讨论】:

    标签: oauth-2.0 openid-connect


    【解决方案1】:

    OAuth 2.0/OpenID Connect 将身份验证与应用程序分开。在加载任何内容之前,您将重定向未经身份验证的客户端/用户远离您的应用程序,并且只处理 SPA 中的授权响应。您的重定向 URI 将指向 SPA。在任何情况下,您都不会在 Ajax 中而是在完整的浏览器中处理 OAuth 2.0/OpenID Connect 舞蹈。

    【讨论】:

    • 谢谢,我发现我可以使用弹出窗口并捕获响应并将其返回给 SPA,这样我的 SPA 仍会加载并可以使用捕获的令牌。也许还有一些方法可以通过完全重定向来捕获响应。
    • @Moloch 是否有关于如何在弹出窗口中捕获响应以及如何将其返回到 SPA 的指南?
    猜你喜欢
    • 2017-06-28
    • 2019-12-26
    • 2019-10-23
    • 1970-01-01
    • 2016-11-19
    • 2018-06-26
    • 2016-07-20
    • 2014-01-11
    • 1970-01-01
    相关资源
    最近更新 更多