NET Core JWT-如何在微服务中处理验证身份验证

时间:2019-03-25 11:13:03

标签: .net security jwt

在Startup.cs(NET CORE)中,我使用JWT创建并验证令牌。 现在,我需要刷新令牌并使用黑名单令牌进行处理。 登录时,我创建了AccessToken和刷新令牌。

我在这里建立了另一个安全解决方案。 https://scotch.io/@sagarsubedi/3-level-jwt-secret-is-this-a-good-idea

查询数据库中的用户
验证签名 获取app_secret 从用户那里获取user_secret 使用token_id声明从用户的token_info获取token_secret。 还用存储的令牌验证令牌的exp要求 使用标头,有效负载和机密信息重新计算签名。 确保令牌随附的签名和重新计算的签名匹配。

我将在授权令牌中显示当前代码。

services.AddAuthentication(options =>

        {
            options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
            options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;

        })

.AddJwtBearer(configureOptions =>

{                 configureOptions.ClaimsIssuer = jwtAppSettingOptions [nameof(JwtIssuerOptions.Issuer)];

            configureOptions.TokenValidationParameters = tokenValidationParameters;
            configureOptions.SaveToken = true;

            configureOptions.Events = new JwtBearerEvents
            {
                OnAuthenticationFailed = context =>
                {
                    if (context.Exception.GetType() == typeof(SecurityTokenExpiredException))
                    {
                        context.Response.Headers.Add("Token-Expired", "true");
                    }
                    return Task.CompletedTask;
                } 

            };
        });

我不知道如何在“开始”>“ ConfigureServices”中处理有效的关注解决方案。 我认为我需要处理验证令牌
因为我必须在有效令牌之前检查数据库中的黑名单。 (或者像其他解决方案一样做例子)

当前,它仅是有效令牌,无法检查数据库中的黑名单。还是做任何事情。

请帮助我。

0 个答案:

没有答案