访问存储在 .net Core cookie 中的数据

Access data stored within an .net Core cookie

我已经使用 open id Connect 设置了一个带有 cookie 身份验证的应用程序,如下所示:

builder.AddOpenIdConnect(options =>
{
    options.SaveTokens = true;
});

我现在想从请求中获取 cookie 并询问它以从中获取值。

我目前正在这样做:

_httpContextAccessor.HttpContext.Request.Cookies[".AspNetCore.Cookies"]

但是,cookie 的值当前已加密以进行保护。

问:我可以使用什么方法/对象来解密我的 cookie 以获得我的令牌?

为了访问特定的令牌,您可以使用GetTokenAsync。这是同时获取 access_tokenid_token:

的示例
var accessToken = await _httpContextAccessor.HttpContext.GetTokenAsync("access_token");
var idToken = await _httpContextAccessor.HttpContext.GetTokenAsync("id_token");

此方法使用默认身份验证方案,我假设 在您的代码中相应地设置了该方案。如果不是,则 GetTokenAsync 的重载也需要 scheme.