示例#1
0
        public TokenProviderMiddleware(RequestDelegate next,
                                       IOptions <TokenProviderOptions> options,
                                       ILogger <InternalLoginService> logger,
                                       ILogger <FacebookLoginHandler> fbLogger,
                                       ILogger <GoogleLoginHandler> googleLogger,
                                       ILogger <AllegroLoginHandler> allegroLogger,
                                       IAccountRepository accountRepository,
                                       IAuthInternalRepository authInternalRepository,
                                       IAuthExternalRepository authExternalRepository,
                                       ApplicationDbContext context)
        {
            _next     = next;
            _options  = options.Value;
            _services = new ILoginService[]
            {
                new GoogleLoginService(accountRepository, authExternalRepository, context),
                new InternalLoginService(accountRepository, logger, authInternalRepository),
                new FacebookLoginService(accountRepository, authExternalRepository, context)
            };

            _handlers = new ILoginHandler[]
            {
                new FacebookLoginHandler(fbLogger),
                new GoogleLoginHandler(googleLogger),
                new AllegroLoginHandler(allegroLogger)
            };
        }
 public GoogleLoginService(IAccountRepository repository,
                           IAuthExternalRepository authExternalRepository,
                           ApplicationDbContext context)
 {
     Context                 = context;
     _accountRepository      = repository;
     _authExternalRepository = authExternalRepository;
 }