Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

AJBM

Dúvida ao customizar autorização

Mensagens Recomendadas

AJBM    30
AJBM

Boas!

A minha aplicação usa Cookies para o site e bearer token para API.

Startup.Auth

...
 app.UseCookieAuthentication(new CookieAuthenticationOptions
		{
			AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
			ExpireTimeSpan = TimeSpan.FromDays(1),
			CookieHttpOnly = true

		});

		OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions()
		{
			AllowInsecureHttp = true,
			TokenEndpointPath = new PathString("/token"),
			AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
			Provider = new MyAuthServerProvider(),

		};
		// Enable the application to use bearer tokens to authenticate users
		app.UseOAuthBearerTokens(OAuthServerOptions);
...
WebApiConfig
public static class WebApiConfig
{
 public static void Register(HttpConfiguration config)
 {
	 // Web API configuration and services
	 // Configure Web API to use only bearer token authentication.
	 config.SuppressDefaultHostAuthentication();
	 config.Filters.Add(new HostAuthenticationFilter("Bearer"));
....
Eu estou a criar o meu AuthorizeAttribute, para o site (MVC) funcionou bem, para API estou com algumas dúvidas.

APIAuthorization

....
protected override bool IsAuthorized(HttpActionContext actionContext)
	{
		IPrincipal user = System.Web.HttpContext.Current.User;

		bool isAutorized = true;
		if (user == null || !user.Identity.IsAuthenticated)
		{
			isAutorized = false;
		}
		//verificar roles
		if (isAutorized)
		{
			isAutorized = (myRoles == null || myRoles.Any(r => user.IsInRole(r)));		  
		}
		return isAutorized;
	}
...
actionContext só tenho acesso à propriedade RequestContext em debug, não sei o porque.

AuthenticationType do user é ApplicationCookie, mas como é do lado da API não devia ser bearer token?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.