public TokenDto CreateToken(Cavus cavus) { var AccesTokenOmru = DateTime.Now.AddMinutes(_customTokenOptions.AccesTokenO); //Token ömrünü al var RefreshTokenOmru = DateTime.Now.AddMinutes(_customTokenOptions.RefreshTokenO); //Refresh token ömrünü al var SecuritKey = CustomSecurity.GetSymetricSecurityKey(_customTokenOptions.SecuritKey); SigningCredentials signingCredentials = new SigningCredentials(SecuritKey, SecurityAlgorithms.HmacSha256Signature); //imzamızı oluşturuyoruz JwtSecurityToken jwtSecurityToken = new JwtSecurityToken( issuer: _customTokenOptions.Issuer, expires: AccesTokenOmru, notBefore: DateTime.Now, claims: GetClaim(cavus, _customTokenOptions.Audience), signingCredentials: signingCredentials); var handler = new JwtSecurityTokenHandler(); var token = handler.WriteToken(jwtSecurityToken); var tokenDto = new TokenDto { AccessToken = token, RefreshToken = CreateRefreshToken(), AccesTokenLifeTime = AccesTokenOmru, RefreshTokenLifeTime = RefreshTokenOmru }; return(tokenDto); }
private IEnumerable <Claim> GetClaim(Cavus kullanici, List <String> Audience) { var userList = new List <Claim>//Token Pyloadında görmek istediğimiz verileri kaydediyoruz { new Claim(ClaimTypes.NameIdentifier, kullanici.Id), new Claim(ClaimTypes.Email, kullanici.Email), new Claim(ClaimTypes.Name, kullanici.UserName), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()) }; userList.AddRange(Audience.Select(x => new Claim(JwtRegisteredClaimNames.Aud, x)));//JwtRegisteredClaimNames.Aud kendisine istek yapılmasına uygunmudur return(userList); }
public async Task <Response <CavusDto> > CreateUserAsync(CreateUserDto createUserDto) { var user = new Cavus { Email = createUserDto.Email, UserName = createUserDto.UserName, GrupId = createUserDto.GrupId }; var result = await _kullanici.CreateAsync(user, createUserDto.Password); if (!result.Succeeded) { var errors = result.Errors.Select(x => x.Description).ToList(); return(Response <CavusDto> .Basarisiz(new ErrorDto(errors, true), 400)); } return(Response <CavusDto> .Basarili(ObjectMapper.MapperIslemleri.Map <CavusDto>(user), 200)); }