3

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

4

3 回答 3

3

我在我的博客上写了关于在 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 应用程序在后续请求中了解用户身份的最常用方式。

于 2018-01-03T08:50:28.157 回答
3

cookie 在那里的作用是什么?

cookie 的作用是使浏览器拥有无状态会话

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

有必要使用cookie吗?

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

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

有关 OpenID Connect 中 cookie 的更多详细信息,您可以参考此文档。( cookie在本网站搜索)

希望这可以帮助!

于 2018-01-03T08:06:18.390 回答
2

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

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

于 2018-01-04T22:13:12.710 回答