OpenID Connect中cookie的范围

4

在使用OpenID Connect进行Azure AD B2C身份验证时,cookie的作用是什么?是否需要使用cookie?在OpenID Connect管道中是否会隐式使用cookie?有没有符合OpenID Connect中cookie角色的文档?

3个回答

3

cookies在其中的作用是什么?

cookies的作用是使浏览器具有无状态会话。

将ID token放入浏览器cookie中,可用于实现轻量级无状态会话。这样就不需要在服务器端(内存或磁盘上)存储会话,对于必须良好扩展的应用程序来说,这可能是一个负担。会话cookie通过验证ID token进行检查。如果token已过期,则应用程序可以通过静默请求prompt=none向OP请求新的token。

使用cookie是必要的吗?

建议使用,不强制要求。这是一种不透明的值,用于在请求和回调之间维护状态。通常,通过将此参数的值与浏览器cookie加密绑定来执行跨站点请求伪造(CSRF、XSRF)防御。

在OpenID Connect管道中是否有隐式使用cookie?是否有符合openid connect中cookie作用的文档?

有关OpenID Connect中cookie的更多详细信息,请参见此文档。(在该网站中搜索cookie

希望这有所帮助!


3
我在我的博客中写了关于在ASP.NET Core 2.0中启用OIDC的内容,链接如下:https://joonasw.net/view/aspnet-core-2-azure-ad-authentication
其中引用了一段关于OIDC和cookies职责的话:
“Cookies负责两件事情: 1. 登录用户(创建认证cookie并将其返回给浏览器) 2. 对请求进行cookie身份验证并从中创建用户主体”
Cookies在这里并不是OpenID Connect的一部分,它们被应用程序用于在用户使用OIDC登录后维护用户会话。
尽管它们可以用来保存与请求一起发送到身份提供者的nonce。这样,当用户被重定向回应用程序时,应用程序可以检查它们是否匹配。
对于Web应用程序而言,Cookies是了解用户在后续请求中是谁的最常见方式。

2
“B2C Cookie” 提供了用户无需不断登录的功能。如果他们刚刚登录并再次访问登录页面,他们就不必再次登录。
*有一个“prompt参数”,可以始终强制用户进行登录。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接