private JwtToken GenerateJwtToken(UserDetailResModel userDetailRmReturn)
        {
            JwtToken jwtTokenrm = new JwtToken();

            var signingKey      = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes(signingKey);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, userDetailRmReturn.FirstName + " " + userDetailRmReturn.LastName),
                    new Claim("UserName", userDetailRmReturn.UserName),
                    new Claim("UserId", userDetailRmReturn.UserId.ToString()),
                }),
                Expires            = DateTime.UtcNow.AddSeconds(100000),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var token       = tokenHandler.CreateToken(tokenDescriptor);
            var tokenString = tokenHandler.WriteToken(token);

            jwtTokenrm.Token = tokenString;
            jwtTokenrm.IsUserAuthenticated = true;

            return(jwtTokenrm);
        }
        public async Task <UserDetailResModel> RegisterUserAsync(RegisterUserResModel registerUserResModel)
        {
            UserDetailModel    userDetail         = new UserDetailModel();
            UserDetailResModel userDetailRmReturn = new UserDetailResModel();
            JwtToken           jwtTokenrm         = new JwtToken();

            userDetail = this._mapper.Map <UserDetailModel>(registerUserResModel);
            userDetail = await this._authenticationRepository.RegisterUserAsync(userDetail);

            userDetailRmReturn = this._mapper.Map <UserDetailResModel>(userDetail);

            jwtTokenrm = this.GenerateJwtToken(userDetailRmReturn);

            return(userDetailRmReturn);
        }
        public async Task <JwtToken> AuthenticateUser(ClientLoginResModel clientLoginResModel)
        {
            JwtToken           jwtTokenrm         = new JwtToken();
            UserDetailModel    userDetail         = new UserDetailModel();
            UserDetailResModel userDetailRmReturn = new UserDetailResModel();

            userDetail = await this._authenticationRepository.AuthenticateUser(clientLoginResModel.UserName, clientLoginResModel.Password);

            if (userDetail == null)
            {
                return(jwtTokenrm);
            }

            userDetailRmReturn = this._mapper.Map <UserDetailResModel>(userDetail);

            jwtTokenrm = this.GenerateJwtToken(userDetailRmReturn);

            return(jwtTokenrm);
        }
Exemple #4
0
        public async Task <UserDetailResModel> RegisterUserAsync(RegisterUserResModel registerUser)
        {
            UserDetailResModel userDetailResModel = new UserDetailResModel();

            string url = await this._appConfigurationService.GetApiUrl("WebApiAuthenticationServer");

            string stringData  = JsonConvert.SerializeObject(registerUser);
            var    contentData = new StringContent(stringData, System.Text.Encoding.UTF8, "application/json");

            HttpResponseMessage response = await this._httpClient.PostAsync
                                               (url + "/api/Authentication/RegisterUserAsync", contentData);

            string stringJWT = response.Content.
                               ReadAsStringAsync().Result;

            userDetailResModel = JsonConvert.DeserializeObject <UserDetailResModel>(stringJWT);

            return(userDetailResModel);
        }
Exemple #5
0
        public async Task OnRegisterUserButtonClick()
        {
            await this._jsRuntime.InvokeVoidAsync("homeController.showLoadingIndicator", "");

            UserDetailResModel userDetailRM = new UserDetailResModel();

            userDetailRM = await this._appSharedService.RegisterUserAsync(this.RegisterUser);

            if (userDetailRM.UserId > 0)
            {
                await this._jsRuntime.InvokeVoidAsync("homeController.showAlert", "User created sucessfully. Login to application.");

                this._navigationManager.NavigateTo("Login");
            }
            else
            {
                await this._jsRuntime.InvokeVoidAsync("homeController.showAlert", "Unale to create new user. Please try again");

                await this._jsRuntime.InvokeVoidAsync("homeController.reloadPage", "");
            }

            await this._jsRuntime.InvokeVoidAsync("homeController.hideLoadingIndicator", "");
        }