Совместное использование токенов OAuth в двух проектах веб-APIC#

Место общения программистов C#
Anonymous
Совместное использование токенов OAuth в двух проектах веб-API

Сообщение Anonymous »

Я создал приложение веб-API с аутентификацией по токену OAuth. Это работало без проблем, когда сервер токенов работал в том же приложении, что и служба. Однако я хотел бы переместить службу авторизации в отдельное приложение (проект VS) и использовать ее в нескольких проектах веб-API, над которыми я работаю. Однако когда я изолировал логику авторизации в собственном проекте, исходная служба больше не считает сгенерированные токены действительными. Мой вопрос: может ли один проект веб-API создать токен для проверки другого? Вот мой код запуска OWIN как для службы аутентификации, так и для исходной службы

Служба аутентификации:

public void Configuration(IAppBuilder app)
{
// For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
HttpConfiguration config = new HttpConfiguration();

ConfigureOAuth(app);

WebApiConfig.Register(config);
app.UseWebApi(config);
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
}

private void ConfigureOAuth(IAppBuilder app)
{
OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions()
{
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
Provider = new SimpleAuthorizationServerProvider()
};

// Token Generation
app.UseOAuthAuthorizationServer(OAuthServerOptions);
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
}


Оригинальный сервис:

public void Configuration(IAppBuilder app)
{
ConfigureOAuth(app);
// For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
HttpConfiguration config = new HttpConfiguration();

config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));

WebApiConfig.Register(config);

app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
app.UseWebApi(config);
}

public void ConfigureOAuth(IAppBuilder app)
{
var oauthBearerOptions = new OAuthBearerAuthenticationOptions();
app.UseOAuthBearerAuthentication(oauthBearerOptions);
}


Подробнее здесь: https://stackoverflow.com/questions/257 ... i-projects

Вернуться в «C#»