예제 #1
0
        public TokenBuilderFactory(
            ITokenConfiguration configuration)
        {
            Ensure.That(configuration).IsNotNull();

            this.configuration = configuration;
        }
예제 #2
0
 public TokenBuilderContext(
     DateTime referenceTime,
     ITokenConfiguration configuration)
 {
     this.ReferenceTime = referenceTime;
     this.Configuration = configuration;
 }
예제 #3
0
 public UserService(ITokenConfiguration tokenConfiguration,
                    IUserRepository userRepository,
                    INotificationHandler notificationHandler) : base(notificationHandler)
 {
     _tokenConfiguration = tokenConfiguration;
     _userRepository     = userRepository;
 }
예제 #4
0
 public Autenticacao(
     IChaveConfiguracao chaveConfiguracao,
     ITokenConfiguration tokenConfiguration)
 {
     _tokenConfiguration = tokenConfiguration ?? throw new ArgumentNullException(nameof(tokenConfiguration));
     _chaveConfiguracao  = chaveConfiguracao ?? throw new ArgumentNullException(nameof(chaveConfiguracao));
 }
예제 #5
0
 public TokenBuilderService(IHttpContextAccessor httpContextAccessor, ITokenConfiguration tokenConfiguration, ISigningConfiguration signingConfiguration, ICacheRepository cacheRepository)
 {
     _httpContextAccessor  = httpContextAccessor ?? throw new ArgumentNullException(nameof(httpContextAccessor));
     _tokenConfiguration   = tokenConfiguration ?? throw new ArgumentNullException(nameof(tokenConfiguration));
     _signingConfiguration = signingConfiguration ?? throw new ArgumentNullException(nameof(signingConfiguration));
     _cacheRepository      = cacheRepository ?? throw new ArgumentNullException(nameof(cacheRepository));
 }
예제 #6
0
        public SignInConfiguration(ITokenConfiguration tokenConfiguration)
        {
            byte[] key = Encoding.UTF8.GetBytes(tokenConfiguration.SecurityKey);
            SymmetricSecurityKey securityKey = new SymmetricSecurityKey(key);

            SigningCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature);
        }
 /// <summary>
 /// TokensController constructor
 /// </summary>
 /// <param name="userManager"></param>
 /// <param name="authorizationManager"></param>
 /// <param name="passwordHasher"></param>
 /// <param name="tokenConfiguration"></param>
 public TokensController(IUserManager userManager, IAuthorizationManager authorizationManager,
                         IPasswordHasher <UserProfile> passwordHasher, ITokenConfiguration tokenConfiguration)
 {
     _userManager          = userManager;
     _authorizationManager = authorizationManager;
     _passwordHasher       = passwordHasher;
     _tokenConfiguration   = tokenConfiguration;
 }
 public SigningConfiguration(ITokenConfiguration tokenConfiguration)
 {
     SigningCredentials = new SigningCredentials
                          (
         new SymmetricSecurityKey(Encoding.ASCII.GetBytes(tokenConfiguration.SecretKey)),
         SecurityAlgorithms.HmacSha256
                          );
 }
예제 #9
0
 public GenerateTokenHandler(IMainDbContext mainDbContext, IMapper mapper,
                             ITokenConfiguration tokenConfiguration, ISignInConfiguration signInConfiguration)
 {
     _mainDbContext       = mainDbContext;
     _mapper              = mapper;
     _tokenHandler        = new JwtSecurityTokenHandler();
     _tokenConfiguration  = tokenConfiguration;
     _signInConfiguration = signInConfiguration;
 }
예제 #10
0
        public RefreshTokenValidator(
            ITokenConfiguration configuration)
        {
            Ensure.That(configuration).IsNotNull();

            this.tokenSigner = new JwsTokenSigner(
                signingKey: configuration.GetSigningKey());

            this.payloadDecoder = new PayloadDecoder();
        }
예제 #11
0
 public AuthenticateUserHandler(IMainDbContext mainDbContext, IMapper mapper,
                                ITokenConfiguration tokenConfiguration, ISignInConfiguration signInConfiguration,
                                IMediator mediator)
 {
     _mainDbContext       = mainDbContext;
     _mapper              = mapper;
     _tokenConfiguration  = tokenConfiguration;
     _signInConfiguration = signInConfiguration;
     _mediator            = mediator;
 }
예제 #12
0
 public AccountController(UserManager <ApplicationUser> userManager,
                          SignInManager <ApplicationUser> signInManager,
                          ILoggerFactory loggerFactory,
                          ITokenConfiguration tokenConfiguration)
 {
     _userManager        = userManager;
     _signInManager      = signInManager;
     _logger             = loggerFactory.CreateLogger <AccountController>();
     _tokenConfiguration = tokenConfiguration;
 }
예제 #13
0
        public static IServiceCollection ResolveToken(this IServiceCollection services)
        {
            services.ResolveTokenConfigurations();

            var provider = services.BuildServiceProvider();

            ITokenConfiguration   token   = provider.GetService <ITokenConfiguration>();
            ISigningConfiguration signing = provider.GetService <ISigningConfiguration>();

            services.AddAuthentication
            (
                authOptions =>
            {
                authOptions.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                authOptions.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            }
            )
            .AddJwtBearer
            (
                bearerOptions =>
            {
                var paramsValidation = bearerOptions.TokenValidationParameters;

                paramsValidation.IssuerSigningKey = signing.SigningCredentials.Key;
                paramsValidation.ValidAudience    = token.Audience;
                paramsValidation.ValidIssuer      = token.Issuer;

                // Valida a assinatura de um token recebido
                paramsValidation.ValidateIssuerSigningKey = true;

                // Verifica se um token recebido ainda é válido
                paramsValidation.ValidateLifetime = true;

                // Tempo de tolerância para a expiração de um token (utilizado caso haja problemas de sincronismo
                //de horário entre diferentes computadores envolvidos no processo de comunicação)
                paramsValidation.ClockSkew = TimeSpan.Zero;
            }
            );

            services.AddAuthorization
            (
                auth =>
            {
                auth.AddPolicy
                (
                    "Bearer",
                    new AuthorizationPolicyBuilder()
                    .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
                    .RequireAuthenticatedUser().Build()
                );
            }
            );

            return(services);
        }
예제 #14
0
        internal TokenBuilder(
            ITokenConfiguration configuration,
            IJwsTokenSigner signer         = null,
            IPayloadEncoder payloadEncoder = null)
        {
            Ensure.That(configuration).IsNotNull();

            this.configuration  = configuration;
            this.signer         = signer;
            this.payloadEncoder = payloadEncoder;

            this.referenceTime = DateTime.UtcNow;
        }
예제 #15
0
 public BookController(BookService bookService, ITokenConfiguration token)
 {
     _bookService = bookService;
     _token       = token;
 }
예제 #16
0
 public JwtTokenFactory(ITokenConfiguration tokenConfiguration)
 {
     _tokenConfiguration = tokenConfiguration;
 }
 public UserProvider(IHttpContextAccessor accessor,
                     ITokenConfiguration tokenConfiguration)
 {
     _accessor           = accessor;
     _tokenConfiguration = tokenConfiguration;
 }
예제 #18
0
 public OrderController(ISendEndpointProvider sendEndpointProvider, OrderContext context, ITokenConfiguration token)
 {
     _sendEndpointProvider = sendEndpointProvider;
     _token   = token;
     _context = context;
 }
예제 #19
0
 public AddressUser(AddressContext context, ITokenConfiguration token)
 {
     _context = context;
     _token   = token;
 }
예제 #20
0
 public TokenService(ITokenConfiguration configuration) => _tokenConfiguration = configuration;
예제 #21
0
 public CartController(CartService cartService, ITokenConfiguration token)
 {
     _cartService = cartService;
     _token       = token;
 }
예제 #22
0
 public AuthorizationApp(ITokenConfiguration tokenConfiguration)
 {
     this.tokenConfiguration = tokenConfiguration;
 }
예제 #23
0
 public TokenEncoder(ITokenConfiguration tokenConfiguration, ISigningConfiguration signingConfiguration)
 {
     _tokenConfiguration   = tokenConfiguration;
     _signingConfiguration = signingConfiguration;
 }
예제 #24
0
 public BoJWT(ITokenConfiguration iTokenConfiguration, ISigningConfigurations iSigningConfigurations)
 {
     ITokenConfiguration    = iTokenConfiguration;
     ISigningConfigurations = iSigningConfigurations;
 }
예제 #25
0
 public TokenConfigurationProvider(ITokenConfiguration tkconf)
 {
     this.TokenConfiguration = tkconf;
 }