【问题标题】:What are example use cases for OpenID implicit flow vs standard flow?OpenID 隐式流与标准流的示例用例是什么?
【发布时间】:2016-07-20 06:51:25
【问题描述】:

在什么情况下您会使用 OpenID Connect 隐式流程: http://openid.net/specs/openid-connect-core-1_0.html#ImplicitFlowAuth

与标准流程相比? http://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth

【问题讨论】:

    标签: authentication single-sign-on openid keycloak


    【解决方案1】:

    授权代码流向用户隐藏生成的令牌,并确保只有正确的客户端应用程序才能访问它。这是一种三向通信:

    1. 用户向 openid 提供者进行身份验证。
    2. openid 提供程序向用户的浏览器返回一个授权码
    3. 用户的浏览器将授权码传递给客户端应用程序。
    4. 客户端应用程序使用 授权码客户端密码 调用 openid 提供程序,以确保它确实是客户端应用程序。
    5. openid 提供程序返回实际的访问令牌。

    此流程对于基于服务器的应用程序更安全,因为访问令牌永远不会暴露给客户端浏览器。服务器应用程序还使用客户端密钥对自己进行身份验证,因此其他人无法使用它。

    当整个客户端在浏览器中以Javascript运行时使用隐式流。 javascript 客户端无法保持“客户端机密”,因此没有任何用处,并且 javascript 客户端应该获取浏览器中可用的令牌。简单的解决方案是让 openid 提供者直接将访问令牌返回给浏览器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-30
      • 2019-12-26
      • 2015-02-25
      • 2021-05-19
      • 2014-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多