【问题标题】:Scope of cookies in OpenID connect [closed]OpenID 连接中的 cookie 范围 [关闭]
【发布时间】:2018-06-12 19:43:43
【问题描述】:

在使用 OpenID Connect 对 Azure AD B2C 进行身份验证期间,cookie 的作用是什么?有必要使用cookie吗? OpenID Connect 管道中是否隐式使用了 cookie?是否有符合 OpenID Connect 中 cookie 角色的文档?

【问题讨论】:

    标签: openid-connect azure-ad-b2c cookie-authentication


    【解决方案1】:

    cookies在那里的作用是什么?

    Cookie 的作用是让浏览器拥有无状态会话

    将 ID 令牌放入浏览器 cookie 可用于实现轻量级无状态会话。这消除了在服务器端(内存或磁盘)存储会话的需要,这对于必须良好扩展的应用程序来说可能是一个相当大的负担。通过验证 ID 令牌来检查会话 cookie。如果令牌已过期,应用程序可以通过静默的prompt=none 请求简单地向 OP 请求新令牌。

    有必要使用cookie吗?

    推荐,非必需。用于维护请求和回调之间状态的不透明值。通常,跨站点请求伪造(CSRF、XSRF)缓解是通过将此参数的值与浏览器 cookie 加密绑定来完成的。

    在 openId 连接管道中是否隐式使用了 cookie?是 有任何符合 cookie 角色的文档 openid 连接?

    关于OpenID Connect中cookies的更多详情,可以参考this document。(在本站搜索cookie

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      我在我的博客上写了关于在 ASP.NET Core 2.0 中启用 OIDC:https://joonasw.net/view/aspnet-core-2-azure-ad-authentication

      从那里引述 OIDC 和 cookie 的责任:

      Cookies 负责两件事:

      • 让用户登录(创建身份验证 cookie 并将其返回给浏览器)
      • 验证请求中的 cookie 并从中创建用户主体

      此处的 Cookie 不完全是 OpenID Connect 的一部分,应用程序使用它们来维护用户的会话他们使用 OIDC 登录后。

      尽管它们可用于保存随请求发送给身份提供者的随机数。这样,当用户被重定向回应用程序时,应用程序可以检查它们是否匹配。

      Cookie 是 Web 应用程序在后续请求中了解用户身份的最常用方式。

      【讨论】:

        【解决方案3】:

        B2C Cookie 使用户不必连续登录。如果他们刚刚登录并再次访问登录页面,则无需再次登录。*

        *有一个prompt parameter,可用于始终强制用户登录。

        【讨论】:

          猜你喜欢
          • 2021-09-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-28
          • 2017-11-11
          • 2019-06-27
          相关资源
          最近更新 更多