Black friday Narozeniny
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!
Rozdáváme body k 9. výročí založení ITnetwork Získat dárkové kódy
Avatar
Mini
Člen
Avatar
Mini:21. května 12:06

Ahoj,
potřeboval bych vyřešit jeden problém s banováním uživatelů.

public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton<IConfiguration>(provider => Configuration);
            services.AddTransient<ITokenService, TokenService>();
            services.AddMvc().AddNewtonsoftJson().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
            services.AddAuthentication(options =>
            {
                options.DefaultScheme = "bearer";
            }).AddJwtBearer("bearer", options =>
            {
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateAudience = false,
                    ValidateIssuer = false,
                    ValidateIssuerSigningKey = true,
                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["serverSigningPassword"])),
                    ValidateLifetime = true,
                    ClockSkew = TimeSpan.Zero //the default for this setting is 5 minutes,
                };

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

Chtěl bych aby každej request co mi přijde na mou API aby se getnul token, vzal se ID uživatele a zkontrolovalo se jeslti není v BAN Listu (blackListu). Pokud je tak mu nic nevrátím.

Díky

Zkusil jsem: Zkousel jsem to pres JwtBearerEvents která má metodu OnMessageReceived ale nevím jeslti je to správně takto řešit.

Chci docílit: Check na každý request

Odpovědět 21. května 12:06
Jste dobří jen v tom, co vás baví.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.