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);
        }
예제 #2
0
        public async Task <JwtToken> AuthenticateUserAsync(ClientLoginResModel clientLoginResModel)
        {
            JwtToken jwtToken             = new JwtToken();
            List <ApiUrlResModel> apiUrls = new List <ApiUrlResModel>();
            string url = await this._appConfigurationService.GetApiUrl("WebApiAuthenticationServer");

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

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

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

            jwtToken = JsonConvert.DeserializeObject <JwtToken>(stringJWT);

            if (jwtToken != null && jwtToken.IsUserAuthenticated)
            {
                await this._localStorage.SetItemAsync("authToken", jwtToken.Token);

                await this._localStorage.SetItemAsync("signedInSuccessfullyFlag", "true");

                this._httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", jwtToken.Token);
                await((AppAuthenticationStateProvider)this._authenticationStateProvider).MarkUserAsAuthenticated(jwtToken.Token);

                var urls = await this._httpClient.GetJsonAsync <List <ApiUrlResModel> >(url + "/api/Authentication/GetApiUrls");

                await this._appConfigurationService.LoadUrlsToStorage(urls);
            }
            else
            {
                jwtToken = new JwtToken();
            }

            return(jwtToken);
        }