コード例 #1
0
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var identity = new ClaimsIdentity(context.Options.AuthenticationType);

            MensajeDTO mensaje = sesionServicio.InicioSesion(new UsuarioDTO(context.UserName, context.Password));


            if (mensaje.Respuesta["Entidad"] != null)
            {
                UsuarioDTO usuario = (UsuarioDTO)mensaje.Respuesta["Entidad"];

                if (usuario.Rol != null)
                {
                    identity.AddClaim(new Claim(ClaimTypes.Role, usuario.Rol.Nombre));
                    identity.AddClaim(new Claim(context.UserName, context.Password));
                    identity.AddClaim(new Claim(ClaimTypes.Name, context.UserName));
                    context.Validated(identity);
                }

                else
                {
                    identity.AddClaim(new Claim(ClaimTypes.Role, "Docente"));
                    identity.AddClaim(new Claim(context.UserName, context.Password));
                    identity.AddClaim(new Claim(ClaimTypes.Name, context.UserName));
                    context.Validated(identity);
                }
            }

            else
            {
                context.SetError("invalid_grant", (string)mensaje.Respuesta["Mensaje"]);
            }
            return;
        }
コード例 #2
0
 public IHttpActionResult Index(UsuarioDTO usuario)
 {
     return(Ok(sesionServicio.InicioSesion(usuario)));
 }