Пример #1
0
        public bool CheckLogin(Users u)
        {
            Users a = UserDao.Find(u.UserName);

            try
            {
                return(a.Password == u.Password ? true : false);
            }
            catch
            {
                return(false);
            }
        }
Пример #2
0
        public object Post(
            [FromBody] User usuario,
            [FromServices] UsersDAO usersDAO,
            [FromServices] SigningConfigurations signingConfigurations,
            [FromServices] TokenConfigurations tokenConfigurations)
        {
            bool credenciaisValidas = false;

            if (usuario != null && !String.IsNullOrWhiteSpace(usuario.UserID))
            {
                var usuarioBase = usersDAO.Find(usuario.UserID);
                credenciaisValidas = (usuarioBase != null &&
                                      usuario.UserID == usuarioBase.UserID &&
                                      usuario.AccessKey == usuarioBase.AccessKey);
            }

            if (credenciaisValidas)
            {
                ClaimsIdentity identity = new ClaimsIdentity(
                    new GenericIdentity(usuario.UserID, "Login"),
                    new[] {
                    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")),
                    new Claim(JwtRegisteredClaimNames.UniqueName, usuario.UserID)
                }
                    );

                DateTime dataCriacao   = DateTime.Now;
                DateTime dataExpiracao = dataCriacao +
                                         TimeSpan.FromSeconds(tokenConfigurations.Seconds);

                var handler       = new JwtSecurityTokenHandler();
                var securityToken = handler.CreateToken(new SecurityTokenDescriptor
                {
                    Issuer             = tokenConfigurations.Issuer,
                    Audience           = tokenConfigurations.Audience,
                    SigningCredentials = signingConfigurations.SigningCredentials,
                    Subject            = identity,
                    NotBefore          = dataCriacao,
                    Expires            = dataExpiracao
                });
                var token = handler.WriteToken(securityToken);

                return(new
                {
                    authenticated = true,
                    created = dataCriacao.ToString("yyyy-MM-dd HH:mm:ss"),
                    expiration = dataExpiracao.ToString("yyyy-MM-dd HH:mm:ss"),
                    accessToken = token,
                    message = "OK"
                });
            }
            else
            {
                return(new
                {
                    authenticated = false,
                    message = "Falha ao autenticar"
                });
            }
        }
Пример #3
0
        public object Post(
            [FromBody] AccessCredentials credenciais,
            [FromServices] UsersDAO usersDAO,
            [FromServices] SigningConfigurations signingConfigurations,
            [FromServices] TokenConfigurations tokenConfigurations,
            [FromServices] IDistributedCache cache)
        {
            bool credenciaisValidas = false;

            if (credenciais != null && !String.IsNullOrWhiteSpace(credenciais.UserID))
            {
                if (credenciais.GrantType == "password")
                {
                    var usuarioBase = usersDAO.Find(credenciais.UserID);
                    credenciaisValidas = (usuarioBase != null &&
                                          credenciais.UserID == usuarioBase.UserID &&
                                          credenciais.AccessKey == usuarioBase.AccessKey);
                }
                else if (credenciais.GrantType == "refresh_token")
                {
                    if (!String.IsNullOrWhiteSpace(credenciais.RefreshToken))
                    {
                        RefreshTokenData refreshTokenBase = null;

                        string strTokenArmazenado =
                            cache.GetString(credenciais.RefreshToken);
                        if (!String.IsNullOrWhiteSpace(strTokenArmazenado))
                        {
                            refreshTokenBase = JsonConvert
                                               .DeserializeObject <RefreshTokenData>(strTokenArmazenado);
                        }

                        credenciaisValidas = (refreshTokenBase != null &&
                                              credenciais.UserID == refreshTokenBase.UserID &&
                                              credenciais.RefreshToken == refreshTokenBase.RefreshToken);

                        // Elimina o token de refresh já que um novo será gerado
                        if (credenciaisValidas)
                        {
                            cache.Remove(credenciais.RefreshToken);
                        }
                    }
                }
            }

            if (credenciaisValidas)
            {
                return(GenerateToken(
                           credenciais.UserID, signingConfigurations,
                           tokenConfigurations, cache));
            }
            else
            {
                return(new
                {
                    authenticated = false,
                    message = "Falha ao autenticar"
                });
            }
        }
Пример #4
0
        public object Post(
            [FromBody] AccessCredentials credenciais,
            [FromServices] UsersDAO usersDAO,
            [FromServices] SigningConfigurations signingConfigurations,
            [FromServices] TokenConfigurations tokenConfigurations)
        {
            bool credenciaisValidas = false;

            if (credenciais != null && !String.IsNullOrWhiteSpace(credenciais.UserID))
            {
                if (credenciais.GrantType == "password")
                {
                    var usuarioBase = usersDAO.Find(credenciais.UserID);
                    credenciaisValidas = (usuarioBase != null &&
                                          credenciais.UserID == usuarioBase.UserID &&
                                          credenciais.AccessKey == usuarioBase.AccessKey);
                }
                else if (credenciais.GrantType == "refresh_token")
                {
                    if (!String.IsNullOrWhiteSpace(credenciais.RefreshToken))
                    {
                        var usuarioBase = usersDAO.FindByToken(credenciais.RefreshToken);

                        credenciaisValidas = (usuarioBase != null &&
                                              credenciais.UserID == usuarioBase.UserID &&
                                              credenciais.RefreshToken == usuarioBase.RefreshToken);
                    }
                }
            }

            if (credenciaisValidas)
            {
                return(GenerateToken(
                           credenciais.UserID, signingConfigurations,
                           tokenConfigurations, usersDAO.Find(credenciais.UserID).Roles, usersDAO));
            }
            else
            {
                return(new
                {
                    authenticated = false,
                    message = "Falha ao autenticar"
                });
            }
        }
Пример #5
0
 public AcademicoMembership_Users GetUser(string username, string password)
 {
     try
     {
         return(DAO.Find(u => u.Password == password && u.Username == username).First());
     }
     catch
     {
         return(null);
     }
 }
Пример #6
0
        public string Teste([FromServices] UsersDAO usersDAO)
        {
            var usuarioBase = usersDAO.Find("1");

            return("Ola");
        }