Ejemplo n.º 1
0
        public static void AddCustomTokenAuth(this IServiceCollection services, CustomTokenOption tokenOptions)
        {
            #region Authentication Mekanizm
            services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, options =>
            {
                options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters()
                {
                    ValidIssuer      = tokenOptions.Issuer,
                    ValidAudience    = tokenOptions.Audience[0],
                    IssuerSigningKey = SignService.GetSymetricSecurityKey(tokenOptions.SecurityKey),

                    //İmzasını dogruluyoruz.
                    ValidateIssuerSigningKey = true,
                    ValidateAudience         = true,
                    ValidateIssuer           = true,
                    ValidateLifetime         = true,
                    //Token'a ömur verdiğimizde  default olarak 5 dk daha ekler
                    //5dk yı farklı zaman aralıklarındakı serverlara kurabılırsın
                    //bunu zero olarak verdiğimizde 5 dk lık sureyı 0'a 0 olarak tanımlıyoruz.
                    ClockSkew = TimeSpan.Zero
                };
            });
            #endregion
        }
Ejemplo n.º 2
0
        //private readonly CustomTokenOption _tokenOption;

        public AccountController(UserManager <IdentityUser> userManager, IConfiguration configuration, SignInManager <IdentityUser> signInManager)//,IOptions<CustomTokenOption> options
        {
            _userManager   = userManager;
            _configuration = configuration;
            _signInManager = signInManager;
            _tokenOptions  = configuration.GetSection("TokenOption").Get <CustomTokenOption>();
        }
Ejemplo n.º 3
0
 public TokenService(IOptions <CustomTokenOption> options, RoleManager <AppRole> roleManager,
                     UserManager <AppUser> userManager)
 {
     _tokenOption = options.Value;
     _roleManager = roleManager;
     _userManager = userManager;
 }
Ejemplo n.º 4
0
        public static void AddCustomTokenAuth(this IServiceCollection services, CustomTokenOption tokenOptions)
        {
            services.AddAuthentication(option =>
            {
                option.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                //Elimizdeki iki şemayı burda birbiri ile konuşturuyoruz.
                option.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, opts =>
            {
                //servise.Add diyerek eklemiş bir nesneden instance almka için kullanılır.
                opts.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters()
                {
                    //NetCoreApp' taki appsettings.json dosyasındaki alanlar ilgili alanlara setlenir
                    ValidIssuer = tokenOptions.Issuer,

                    //Token'daki Audince dizi olduğu için sıfırıncı indis'ten instance aldık
                    ValidAudience    = tokenOptions.Audience[0],
                    IssuerSigningKey = SingService.GetSymmetricSecuriyKey(tokenOptions.SecurityKey),

                    //Issuer İmzası Doğrulanır
                    ValidateIssuerSigningKey = true, //imzayı doğrular
                    ValidateAudience         = true, //Audice doğrular
                    ValidateIssuer           = true, //Issuer doğrular
                    ValidateLifetime         = true, //Token Ömrünü kontrol eder

                    //Token ömrüne otomatik olarak verilen sürenin 5dk fazlasını verir. Zero komutu o 5dk lık default süreyi kaldırır.
                    //İsteğe bağlı olarak eklenir.
                    ClockSkew = TimeSpan.Zero
                };
            });
        }
 public static void AddCustomTokenAuth(this IServiceCollection services, CustomTokenOption tokenOptions)
 {
     services.AddAuthentication(options =>
     {
         options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
         options.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
     }).AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, opt =>
     {
         opt.TokenValidationParameters = new TokenValidationParameters()
         {
             ValidIssuer              = tokenOptions.Issuer,
             ValidAudience            = tokenOptions.Audience[0],
             IssuerSigningKey         = SignService.GetSymmetricSecurityKey(tokenOptions.SecurityKey),
             ValidateIssuerSigningKey = true,
             ValidateAudience         = true,
             ValidateIssuer           = true,
             ValidateLifetime         = true,
             ClockSkew = TimeSpan.Zero
         };
     });
 }
Ejemplo n.º 6
0
        public static void AddCustomTokenAuth(this IServiceCollection services, CustomTokenOption tokenOptions)
        {
            // 2 ayrı üyelik sistemi olabilir -> bayiler için ayrı bir üyelik normal kullanıcılar için farklı login ekranları
            services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, opts => {
                opts.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters()
                {
                    ValidIssuer      = tokenOptions.Issuer,
                    ValidAudience    = tokenOptions.Audience[0],
                    IssuerSigningKey = SignService.GetSymmetricSecurityKey(tokenOptions.SecurityKey),

                    ValidateIssuerSigningKey = true,
                    ValidateAudience         = true,
                    ValidateIssuer           = true,
                    ValidateLifetime         = true,


                    ClockSkew = TimeSpan.Zero
                };
            });
        }
Ejemplo n.º 7
0
 public TokenService(UserManager <UserApp> userManager, IOptions <CustomTokenOption> options)
 {
     _userManager = userManager;
     _tokenOption = options.Value;
 }