public async Task GetProfileDataAsync(ProfileDataRequestContext context)
        {
            var subId = context.Subject.GetSubjectId();
            var user  = await _customUserRepository.FindById(int.Parse(subId));

            var claims = new List <Claim>()
            {
                new Claim(JwtRegisteredClaimNames.Email, user.Email),
                new Claim("username", user.UserName),
                new Claim("city", user.City)
            };

            if (user.Id == 1)
            {
                claims.Add(new Claim("role", "admin"));
            }
            else
            {
                claims.Add(new Claim("role", "customer"));
            }
            context.AddRequestedClaims(claims);

            //claimlerin jwtnin içerisinde gözükmesini sağlar ama sağlıklı değildir.
            context.IssuedClaims = claims;
        }
        public async Task GetProfileDataAsync(ProfileDataRequestContext context)
        {
            var subId = context.Subject.GetSubjectId();
            var user  = await _customUserRepository.FindById(int.Parse(subId));

            var claims = new List <Claim>()
            {
                new Claim("email", user.Email), //sabitler oldugu için kullandım olmasaydı kendim yazardım. Best practice için uygun olanı sabit kullanmak
                new Claim("name", user.UserName),
                new Claim("city", user.City)
            };

            if (user.Id == 1)
            {
                claims.Add(new Claim("role", "admin"));
            }
            else
            {
                claims.Add(new Claim("role", "customer"));
            }

            context.AddRequestedClaims(claims);
            //context.IssuedClaims = claims; // yayınlacak claimler. token içerisinde role ve city degerlerini görmek istersem kullanırım. Fakat tokenin boyutu büyür gerek yok bence. Kullanıcıyla alakalı bilgileri userendpointinden alırım.
        }