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

时间:2019-03-27 11:27:55

标签: asp.net asp.net-core razor-pages

我已经使用开放ID Connect建立了具有Cookie身份验证的应用,如下所示:

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

我现在想从请求中获取cookie并对其进行查询以从中获取值。

我目前正在这样做:

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

但是cookie的值目前已加密以保护。

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

1 个答案:

答案 0 :(得分:2)

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

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

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