Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }