在使用 OpenID Connect 对 Azure AD B2C 进行身份验证期间,cookie 的作用是什么?有必要使用cookie吗?OpenID Connect 管道中是否隐式使用了 cookie?是否有任何文档符合 OpenID Connect 中 cookie 的角色?
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 应用程序在后续请求中了解用户身份的最常用方式。
cookie 在那里的作用是什么?
cookie 的作用是使浏览器拥有无状态会话。
将 ID 令牌放入浏览器 cookie 可用于实现轻量级无状态会话。这消除了在服务器端(内存或磁盘)存储会话的需要,这对于必须良好扩展的应用程序来说可能是一个相当大的负担。通过验证 ID 令牌来检查会话 cookie。如果令牌已过期,应用程序可以简单地通过静默prompt=none
请求向 OP 请求新令牌。
有必要使用cookie吗?
推荐,不需要。用于维护请求和回调之间状态的不透明值。通常,跨站点请求伪造(CSRF、XSRF)缓解是通过将此参数的值与浏览器 cookie 加密绑定来完成的。
在 openId 连接管道中是否隐式使用了 cookie?是否有任何文档符合 cookie 在 openid connect 中的作用?
有关 OpenID Connect 中 cookie 的更多详细信息,您可以参考此文档。( cookie
在本网站搜索)
希望这可以帮助!
B2C Cookie使用户不必连续登录。如果他们刚刚登录并再次访问登录页面,则无需再次登录。*
*有一个prompt
参数可用于始终强制用户登录。