none
Adicionar mensagem na resposta do OAuth RRS feed

  • Pergunta

  • Olá a todos,

    Criei um web api com validação por tokens que funciona corretamente, meu problema é:
    Gostaria de colocar uma mensagem após as informações obrigatórias, deixo em anexo uma imagem exemplo(Gostaria de adicionar aquele "validado") e também meu código.

    Grato!

    namespace BRWAdmPanel.Services
    {
        public class ProviderDeTokensDeAcesso : OAuthAuthorizationServerProvider
        {
            public override async Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context)
            {
                context.Validated();
            }
            public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
            {
                if (UserSecurity.Login(context.UserName, context.Password))
                {
                    var identity = new ClaimsIdentity(context.Options.AuthenticationType);
                    identity.AddClaim(new Claim("sub", context.UserName));
                    identity.AddClaim(new Claim("role", "user"));
                    context.Validated(identity);
                  
                }
                else
                {
                    context.SetError("acesso inválido", "As credenciais do usuário não conferem....");
                    return;
                }
            }
        }
    }


    segunda-feira, 24 de junho de 2019 17:56

Respostas

  • Olá a todos novamente, 

    Recebi a resposta por meio de um post em outro site e vou compartilhar aqui, precisei criar um método e dentro deste colocar as informações necessárias. Segue classe:

       public class ProviderDeTokensDeAcesso : OAuthAuthorizationServerProvider
        {
    
            //MÉTODO TokenEndPoint
    
            public override Task TokenEndpoint(OAuthTokenEndpointContext context)
            {
                var identity = new ClaimsIdentity(context.Options.AuthenticationType);
                context.AdditionalResponseParameters.Add("access", identity.IsAuthenticated);
    
                return Task.FromResult<object>(null);
            }
            // Fim do método
    
            public override async Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context)
            {
                context.Validated();
            }
            public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
            {
                if (UserSecurity.Login(context.UserName, context.Password))
                {
                    
                    var identity = new ClaimsIdentity(context.Options.AuthenticationType);
                    identity.AddClaim(new Claim("sub", context.UserName));
                    identity.AddClaim(new Claim("role", "user"));
                    context.Validated(identity);
                }
                else
                {
                    return;
                }
            }
        }

    • Marcado como Resposta Douglas Souza05 quinta-feira, 27 de junho de 2019 17:16
    quinta-feira, 27 de junho de 2019 17:16