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; }