public 客户端使用 cookie 保护 Web API 的陷阱

Pitfalls of securing web APIs with cookie for public clients

我正在为 public JS 客户端在我的 asp.net 核心休息网站 api 中实施 oidc/pkce 隐式授权流程。

我几乎明白这是如何工作的,但我不能完全理解另一种方法的最大问题是什么——如果我要使用 ASP Identity 提供的默认 cookie(或会话)身份验证。

我觉得很难 google 这个话题。我可以请求一些文章的提示/指针吗?

即使您使用基于令牌的身份验证,仍会使用普通 cookie 身份验证。

OpenIDConnect 客户端收到最终令牌后,默认情况下会创建一个包含用户详细信息和声明的经典会话令牌。您还可以选择将 ID/Access/Refresh 令牌存储在此 cookie 中。

cookie 已加密,因此无法被篡改或破解。

使用 OpenIDConnect 的好处是当您涉及多个客户端 and/or API 并且您需要一种标准化的方式来处理此问题时。对许多不同的服务使用普通的 cookie 方法很难保证安全。