Я создал простой веб-сервис - WebAPI 2 с помощью Owin, размещенного на IIS в моем файле запускаWebAPI 2 - OAuth 2 перехвата авторизации токена
public void Configuration(IAppBuilder app)
{
// For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
ConfigureOAuth(app);
var configuration = new HttpConfiguration();
WebApiConfig.Register(configuration);
app.UseWebApi(configuration);
app.UseCors(CorsOptions.AllowAll);
}
public void ConfigureOAuth(IAppBuilder app)
{
var 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());
}
и создал простой контроллер с атрибутом Авторизоваться. в идентификационной модели я добавляю информацию, которую я хочу читать, когда пользователь совершает вызов сервера
var identity = new ClaimsIdentity(context.Options.AuthenticationType);
identity.AddClaim(new Claim("sub", context.UserName));
identity.AddClaim(new Claim("role", "user"));
identity.AddClaim(new Claim("session", "50"));
на каждый запрос я хочу, чтобы получить значение сеанса, есть способ сделать это? как я могу добавить промежуточное программное обеспечение для перехвата процесса авторизации токена?
возможно дубликат [Доступ к сеансу с помощью ASP.NET Web API] (http://stackoverflow.com/questions/9594229/accessing-session -при-Asp-сетчатая веб-апи) – Tascalator