示例#1
0
        public virtual async Task <AuthLoginResult> Login(string userName, string plainPassword)
        {
            //Dohvati korisnika iz baze
            User fetchedUser = await _repository.GetUserByNameAsync(userName);

            var result = new AuthLoginResult();

            if (fetchedUser != null) //ako korisnik postoji
            {
                //provjeri password
                bool goodPassword = await _hasher.CheckPassword(fetchedUser.HashedPassword, plainPassword);

                if (!goodPassword)
                {
                    result.SetErrorMessage("Wrong password :(");
                    return(result);
                }

                //kreiraj jwt token (korisnik je uspjesno prijavljen)
                result.Token = _token.CreateJWTToken(fetchedUser);
                return(result);
            }

            //Vrati poruku da korisnik ne postoji
            result.SetErrorMessage("User doesnt exist");
            return(result);
        }
示例#2
0
 public SAuthInEuAckMessage(AuthLoginResult result, ulong accountId, string sessionId)
     : this()
 {
     Result    = result;
     AccountId = accountId;
     SessionId = sessionId;
 }
示例#3
0
 public SAuthInEuAckMessage(AuthLoginResult result, ulong accountId, uint sessionId)
     : this()
 {
     Result     = result;
     AccountId  = accountId;
     SessionId  = (uint)accountId;
     SessionId2 = sessionId.ToString();
 }
示例#4
0
 public LoginEUAckMessage(AuthLoginResult result, ulong accountId, uint sessionId, string authsession, string newsession, string datetime)
     : this()
 {
     Result     = result;
     AccountId  = accountId;
     SessionId  = (uint)accountId;
     SessionId2 = sessionId.ToString();
     AuthToken  = authsession;
     NewToken   = newsession;
     Datetime   = datetime;
 }
示例#5
0
        public async Task <AuthLoginResult> Login(UserLogin login)
        {
            var    httpClient     = new HttpClient();
            string serializedUser = JsonConvert.SerializeObject(login);

            //TODO: web-address need moving to configuration file
            var requestMessage = new HttpRequestMessage(HttpMethod.Post, "http://localhost:51408/api/auth/login");

            requestMessage.Content = new StringContent(serializedUser);

            requestMessage.Content.Headers.ContentType
                = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");

            HttpResponseMessage response;
            string         responseBody       = "";
            HttpStatusCode responseStatusCode = 0;
            string         message;

            try
            {
                response = await httpClient.SendAsync(requestMessage);

                responseBody = await response.Content.ReadAsStringAsync();

                responseStatusCode = response.StatusCode;
                message            = response.ReasonPhrase;
            }
            catch (Exception e)
            {
                message = e.Message;
            };

            var token = JsonConvert.DeserializeObject <ResponseJWT>(responseBody);

            var result = new AuthLoginResult()
            {
                Success    = responseStatusCode == HttpStatusCode.OK,
                Token      = token.AccessToken,
                Message    = message,
                ResultCode = (int)responseStatusCode
            };

            return(await Task.FromResult(result));
        }
        public async Task <AuthLoginResult> Login(UserLogin login)
        {
            var accessToken = "";
            var message     = "";
            var userInfo    = AuthenticateUser(login);

            if (userInfo != null)
            {
                accessToken = GenerateJwt(userInfo);
            }
            else
            {
                message = "Invalid Username or Password";
            };

            var result = new AuthLoginResult()
            {
                Success = accessToken != "", Token = accessToken, Message = message
            };

            return(await Task.FromResult(result));
        }
示例#7
0
 public SAuthInEuAckMessage(AuthLoginResult result)
     : this()
 {
     Result = result;
 }
示例#8
0
 public LoginKRAckMessage(AuthLoginResult result)
     : this()
 {
     Result = result;
 }