Exemple #1
0
        public async Task <AuthenticatedUserVM> GenerateApiToken(string username, string userpass)
        {
            UserVM user = await this._userApplication.GetUser(username, userpass);

            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            SecurityTokenDescriptor securityTokenDescriptor = GenerateSecurityTokenDescriptor(user);

            AuthenticatedUserVM authenticatedUser = new AuthenticatedUserVM {
                Token = GenerateToken(jwtSecurityTokenHandler, securityTokenDescriptor), User = user
            };

            return(authenticatedUser);
        }
        public async Task <ActionResult <AuthenticatedUserVM> > Authenticate(AuthenticateUserVM user)
        {
            try
            {
                AuthenticatedUserVM authenticatedUser = await this._tokenService.GenerateApiToken(user.UserName, user.UserPassword);

                LogTraceVM logTrace = new LogTraceVM(string.Empty, "AuthenticateController", "Authenticate");
                logTrace.Parameters.Add(user);

                return(Ok(authenticatedUser));
            }
            catch (Exception error)
            {
                LogErrorVM logError = new LogErrorVM(error.Message, error.StackTrace, "AuthenticateController", "Authenticate");
                logError.Parameters.Add(user);
                this._logger.LogError(error, logError.ToString());
                return(BadRequest(error.Message));
            }
        }