public JsonResult <JsonUserModel> AuthenticateUser([FromBody] UserPresentationModel userPresentationModelObject)
        {
            UserBussinessEntity userBussinessEntityObject = MapperFromPresenationtoBL.Mapping <UserPresentationModel, UserBussinessEntity>(userPresentationModelObject);

            bool isAuthenticated = userBussinessServiceObject.RequestAuthentication(userBussinessEntityObject);



            if (isAuthenticated)
            {
                IAuthContainerModel model       = GetJWTContainerModel(userPresentationModelObject.Username, "admin");
                IAuthService        authService = new JWTService(model.SecretKey);

                string token        = authService.GenerateToken(model);
                int    refreshToken = RandomNumber(0, 256);
                if (!authService.IsTokenValid(token))
                {
                    throw new UnauthorizedAccessException();
                }
                else
                {
                    ClaimsPrincipal claims = authService.GetTokenClaims(token);
                    refreshTokens[refreshToken] = userPresentationModelObject.Username;
                }

                JsonUserModel jsonUserModelObject = new JsonUserModel();
                jsonUserModelObject.RefreshToken = userPresentationModelObject.Username;
                jsonUserModelObject.JWTToken     = token;

                return(Json(jsonUserModelObject));
            }

            return(null);
        }
Exemplo n.º 2
0
        public bool RequestAuthentication(UserBussinessEntity userBussinessEntityObject)
        {
            //bool result = false;



            UserDataEntity userDataEntityObject = MapperFromBLtoDA.Mapping <UserBussinessEntity, UserDataEntity>(userBussinessEntityObject);

            bool result = userDataServiceObject.ValidateAuthentication(userDataEntityObject);

            return(result);
        }