0

对于我的项目,我们目前使用多种身份验证方法,Cookie 身份验证、承载 OAuth 令牌和外部登录。我们正在尝试简化我们的代码库以删除 Cookie 身份验证。我们只想使用 OAuth 身份验证。在非 SPA、常规 MVC 应用程序中实现此功能的最佳方法是什么?或者这甚至是可能的吗?

我目前已经能够使用 HttpOnly Cookie 通过自定义中间件来存储和设置 Authorization 标头。但是,我现在想设置刷新令牌,因为我们需要将令牌的到期时间保持在最短。我怎样才能设置刷新令牌?

app.Use(async (context, a) =>
{
    if (context.Request.Headers.ContainsKey("Authorization") == false)
    {
        var accessToken = context.Request.Cookies["ACCESS_TOKEN"];
        if (accessToken != null)
        {
            context.Request.Headers.Append("Authorization", $"bearer {accessToken}");
        }
    }

    await a.Invoke();
});

我目前正在使用来自 Identity 的内置 OAuth。

app.UseOAuthBearerTokens(OAuthOptions);
4

0 回答 0