Я пытаюсь проверить токен, сгенерированный из IDS4, с помощью IdentityServer3.AccessTokenValidation, но я получаю 401 каждый раз.
Я последовал предложению, которое видел в разных статьях:
public void Configuration(IAppBuilder app)
{
var config = new HttpConfiguration();
var builder = new ContainerBuilder();
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
var executingAssembly = Assembly.GetExecutingAssembly();
Api.Register(builder, executingAssembly);
builder.RegisterWebApiFilterProvider(GlobalConfiguration.Configuration);
builder.RegisterAssemblyModules(executingAssembly);
var container = builder.Build();
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
var webApiResolver = new AutofacWebApiDependencyResolver(container);
GlobalConfiguration.Configuration.DependencyResolver = webApiResolver;
app.UseCors(CorsOptions.AllowAll);
app.UseAutofacWebApi(config);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
var options = new IdentityServerBearerTokenAuthenticationOptions
{
Authority = ConfigurationManager.AppSettings["IdentityServer:Authority"],
AuthenticationType = "Bearer",
RequiredScopes = new[] { ConfigurationManager.AppSettings["IdentityServer:ApiScope"] },
};
app.UseIdentityServerBearerTokenAuthentication(options);
WebApiConfig.Register(config);
config.Filters.Add(new AuthorizeAttribute());
app.UseWebApi(config);
}
Это должно авторизовать токен, который я отправляю из приложения, однако
Авторизация применяется ко всем контроллерам, но я вижу, что конструктор контроллера находится под ударом, но действие не вызывается, означает ли это, что проверка токена работает нормально?
но я вижу, что полномочия, которые я посылаю, тоже верны.
я получаю следующую ошибку после того, как я включил запись катаны:
IdentityServer3.AccessTokenValidation.ValidationEndpointTokenProvider Информация: 0: ошибка возвращена из конечной точки проверки токена: не найдено
Предупреждение Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationMiddleware: 0: получен недопустимый токен носителя