private TCMClientResponse CreateUserResponse(string username, bool isAutheticated, List <string> roleList) { var t = new TokenProvider(); string token = t.CreateToken(username, "www.tieto.com", appSettings.Secret, roleList); var context = new ClientContext { Context = new Context { RegUser = username, ExtUser = username, ExtChannelId = appSettings.ExtChannelId, ExtId = appSettings.ExtId, RegToken = 0,//(appSettings.RegToken != null) ? Convert.ToInt64(appSettings.RegToken) : 0, RegInterface = appSettings.RegInterface, LanguageId = appSettings.LanguageId }, Token = token, //Roles = roleList.ToList(), IsAutheticated = isAutheticated }; _logger.Debug(GetType(), JsonConvert.SerializeObject(context)); var result = new TCMClientResponse { Data = context, Success = true }; return(result); }
public string SignIn([FromBody] SignInModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } ModelState.Validate(); var user = _userRepository.Find(new { login = model.Username }); if (user != null && !user.Locked) { string password, salt; _userRepository.GetPasswordAndSalt(user.Id, out password, out salt); var verified = _saltedHash.VerifyHashString(model.Password, password, salt); if (verified) { var organization = _organizationRepository.Get(user.OrganizationId); if (organization != null && !organization.Locked) { var roles = _memberRepository.Roles(user.Id, true); return(_tokenProvider.CreateToken(user, organization, roles.ToArray())); } } } throw new PawnshopApplicationException("Имя пользователя или пароль указан не верно"); }
public void CreateToken_Should_Return_ErrorResult_When_Inputs_Are_Null() { var authSettings = Options.Create <AuthSettings>(_settings); var tokenProvider = new TokenProvider(authSettings); var acutalResults = tokenProvider.CreateToken(null, false); Assert.AreEqual(UserErrorMessages.User_Token_Object_Should_Not_Be_null, acutalResults.GetErrorString()); }
public async Task <IActionResult> Get() { var t = new TokenProvider(); string token = t.CreateToken("Admin", "www.tieto.com", appSettings.Secret, null); var result = new TCMClientResponse { Data = token, Success = true }; return(Ok(result)); }
public void CreateToken_NullClaimsProvided_ShouldThrowAnException() { //arrange var tokenProvider = new TokenProvider(); //act void Action() { var token = tokenProvider.CreateToken(null); } //assert Assert.Throws <ArgumentNullException>((Action)Action); }
public void CreateToken_Should_Return_SuccessResult_When_Inputs_Are_Valid() { var userToken = new TokenInfo { Id = 100, FullName = "admin" }; var authSettings = Options.Create <AuthSettings>(_settings); var tokenProvider = new TokenProvider(authSettings); var acutalResults = tokenProvider.CreateToken(userToken, false); Assert.IsTrue(acutalResults.IsSuccessed); Assert.Greater(acutalResults.Value.Value.Length, 15); }
public void CreateToken_SuccessfulCreation_ShouldReturnAToken() { //arrange var tokenProvider = new TokenProvider(); var claims = new List <Claim> { new Claim(ClaimsIdentity.DefaultNameClaimType, "*****@*****.**") }; //act var token = tokenProvider.CreateToken(claims); //assert Assert.False(string.IsNullOrEmpty(token)); }
public void IsTokenExpired_WhenCalledAndTokenIsNotOlderThanGivenTime_FalseExpected() { // ARRANGE var provider = new TokenProvider(); var token = provider.CreateToken(); var expirationTime = 24; var time = DateTime.UtcNow.AddHours(23).AddMinutes(59).AddSeconds(59); SystemTime.Set(() => time); // ACT var actual = provider.IsTokenExpired(token, expirationTime); // ASSERT actual.Should().BeFalse(); }
public Token Create(User user) { var userFromDatabase = _users.Find <User>(entry => entry.Email == user.Email && entry.Password == user.Password).FirstOrDefault(); if (userFromDatabase != null && userFromDatabase.IsActive) { string token = TokenProvider.CreateToken(24); Session session = new Session(userFromDatabase._id.ToString(), token); Token response = new Token(token); _sessions.InsertOne(session); return(response); } else { return(null); } }
public void CreateToken_SuccessfulCreation_ShouldDecode() { //arrange var tokenProvider = new TokenProvider(); var claims = new List <Claim> { new Claim(ClaimsIdentity.DefaultNameClaimType, "*****@*****.**") }; //act var token = tokenProvider.CreateToken(claims); var jwt = new JwtSecurityTokenHandler().ReadToken(token) as JwtSecurityToken; //assert Assert.NotNull(jwt); Assert.Contains(AuthOptions.AUDIENCE, jwt.Audiences); Assert.Equal(AuthOptions.ISSUER, jwt.Issuer); }
public void CreateToken_WhenCalled_ProperTokenExpected() { // ARRANGE var provider = new TokenProvider(); var time = DateTime.Now; SystemTime.Set(() => time); var key = SystemGuid.NewGuid(); SystemGuid.Set(() => key); var expected = Convert.ToBase64String(BitConverter.GetBytes(time.ToBinary()) .Concat(key.ToByteArray()).ToArray()); // ACT var actual = provider.CreateToken(); // ASSERT actual.Should().BeEquivalentTo(expected); }
public async Task <object> Authenticate([FromBody] CarDetailerDto carDetailerDto) { var carDatiler = _carDetailerService.Authenticate(carDetailerDto.Phone, carDetailerDto.Password); if (carDatiler == null) { return(BadRequest(new { message = "Le numéro de téléphone ou le mot de pass est incorrect" })); } var tokenString = TokenProvider.CreateToken(_appSettings.Secret, carDatiler.Id.ToString() + ",carDetailer"); return(await Task.FromResult(new { Id = carDatiler.Id, Phone = carDatiler.Phone, FirstName = carDatiler.FirstName, LastName = carDatiler.LastName, Token = tokenString })); }