Debian:没有配置身份验证处理程序来处理该方案:自动

Debian: No authentication handler is configured to handle the scheme: Automatic(Debian:没有配置身份验证处理程序来处理该方案:自动)
本文介绍了Debian:没有配置身份验证处理程序来处理该方案:自动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I have some issue like this, but i can't understand how to solve it for Debian.

At first, i configure my application as described below

app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationScheme =MyAuthSchemeName,
                CookieName = MyCookiName,
                AutomaticAuthenticate = true,
                AutomaticChallenge = false,
                SlidingExpiration = true,
                ExpireTimeSpan = TimeSpan.FromDays(1),
                DataProtectionProvider = DataProtectionProvider.Create(MyApplicationName)
            });

app.UseJwtBearerAuthentication(new JwtBearerOptions
            { 
                AutomaticChallenge = false,
                AutomaticAuthenticate = true,
                Authority = IdentityServerConnectionString,
                RequireHttpsMetadata = false,
                BackchannelHttpHandler = new HttpClientHandler().ServerCertificateCustomValidationCallback = (request, cert, chain, errors) => true,
                TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateAudience = false,
                    ValidateIssuer = false,
                }
            });

app.UseMvc();

For windows it works perfectly (I use Host for launching this code, not IIS !), but for Debian it fails. Any ideas?

UPD: I see next message in logs: Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware MyAuthSchemeName was not authenticated. Failure message: Unprotect ticket failed

解决方案

I found solution for this issue. Key cause is a settings of DataProtectionProvider. For Debian it's needed to use code below

Startup.cs :

public void ConfigureServices(IServiceCollection services)
    {
      services.AddDataProtection().SetApplicationName(ApplicationName).
               PersistKeysToFileSystem(
                    new DirectoryInfo(Configuration["/some_path_to_folder_for_keys"]))
    }

And dataprovider initialization should be removed for cookie (from UseCookieAuthentication());

这篇关于Debian:没有配置身份验证处理程序来处理该方案:自动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
quot;Overflowquot; compiler error with -9223372036854775808L(编译器错误-9223372036854775808L(Q;溢出Q))
Visual Studio 2010 ReportViewer Assembly References(Visual Studio 2010 ReportViewer程序集引用)
Weird behaviour when I open a reportviewer in WPF(在WPF中打开报表查看器时出现奇怪的行为)
how do i pass parameters to aspnet reportviewer(如何将参数传递给aspnet report查看器)