/// <summary> /// Inietta le dipendenze richieste dal controller. /// </summary> /// <param name="dataSourceManager">Il gestore della sorgente dati di Caravan.</param> /// <param name="clock">L'orologio di sistema.</param> /// <param name="oneTimeTokenEncoder"> /// Il componente che codifica e decodifica i token "one time". /// </param> protected AbstractHelpController(ICaravanDataSourceManager dataSourceManager, IClock clock, ICookieEncoder<OneTimeToken> oneTimeTokenEncoder) { // Preconditions Raise.ArgumentNullException.IfIsNull(dataSourceManager, nameof(dataSourceManager)); Raise.ArgumentNullException.IfIsNull(clock, nameof(clock)); Raise.ArgumentNullException.IfIsNull(oneTimeTokenEncoder, nameof(oneTimeTokenEncoder)); DataSourceManager = dataSourceManager; Clock = clock; _oneTimeTokenEncoder = oneTimeTokenEncoder; }
/// <summary> /// Inietta la dipendenze necessarie. /// </summary> /// <param name="authorizationSettings">Le impostazioni legate al server di OAuth2.</param> /// <param name="log">Istanza del log per questo filtro.</param> /// <param name="clock">L'orologio di sistema.</param> /// <param name="tokensCookieEncoder"> /// Il componente che decifra il cookie con i token di OAuth2. /// </param> /// <param name="csrfCookieEncoder">Il componente che decifra il cookie anti-CSRF.</param> /// <param name="accessTokenRefresher"> /// Il componente che si occupa di rinfrescare l'access token. /// </param> public CookiesOAuth2AccessTokenExtractor(OAuth2AuthorizationSettings authorizationSettings, ILog log, IClock clock, ICookieEncoder<OAuth2TokensCookie> tokensCookieEncoder, ICookieEncoder<OAuth2CsrfCookie> csrfCookieEncoder, IOAuth2AccessTokenRefresher accessTokenRefresher) { Raise.ArgumentNullException.IfIsNull(authorizationSettings, nameof(authorizationSettings)); Raise.ArgumentNullException.IfIsNull(log, nameof(log)); Raise.ArgumentNullException.IfIsNull(clock, nameof(clock)); Raise.ArgumentNullException.IfIsNull(tokensCookieEncoder, nameof(tokensCookieEncoder)); Raise.ArgumentNullException.IfIsNull(csrfCookieEncoder, nameof(csrfCookieEncoder)); Raise.ArgumentNullException.IfIsNull(accessTokenRefresher, nameof(accessTokenRefresher)); AuthorizationSettings = authorizationSettings; Log = log; _clock = clock; _tokensCookieEncoder = tokensCookieEncoder; _csrfCookieEncoder = csrfCookieEncoder; _accessTokenRefresher = accessTokenRefresher; }
/// <summary> /// Inizializza il componente usato per la gestione di OAuth2. /// </summary> /// <param name="next">Il componente successivo nella catena.</param> /// <param name="settings">Le impostazioni del componente.</param> /// <param name="log">Il log su cui scrivere eventuali messaggi.</param> /// <param name="clock">Il clock usato per gestire le scadenze dei token.</param> /// <param name="tokensCookieEncoder"> /// Il componente che decifra il cookie con i token di OAuth2. /// </param> /// <param name="csrfCookieEncoder">Il componente che decifra il cookie anti-CSRF.</param> /// <param name="authCodeHandler">Gestore degli authorization code.</param> /// <param name="userValidator">Per bloccare eventuali utenti che hanno passato la login.</param> public OAuth2HandlerMiddleware(OwinMiddleware next, Settings settings, ILog log, IClock clock, ICookieEncoder<OAuth2TokensCookie> tokensCookieEncoder, ICookieEncoder<OAuth2CsrfCookie> csrfCookieEncoder, IOAuth2AuthorizationCodeHandler authCodeHandler, IOAuth2UserValidator userValidator) : base(next) { // Preconditions Raise.ArgumentNullException.IfIsNull(settings, nameof(settings)); Raise.ArgumentNullException.IfIsNull(log, nameof(log)); Raise.ArgumentNullException.IfIsNull(clock, nameof(clock)); Raise.ArgumentNullException.IfIsNull(tokensCookieEncoder, nameof(tokensCookieEncoder)); Raise.ArgumentNullException.IfIsNull(csrfCookieEncoder, nameof(csrfCookieEncoder)); Raise.ArgumentNullException.IfIsNull(authCodeHandler, nameof(authCodeHandler)); Raise.ArgumentNullException.IfIsNull(userValidator, nameof(userValidator)); Raise.ArgumentException.IfIsNullOrWhiteSpace(settings.ClientId, nameof(settings.ClientId)); Raise.ArgumentException.IfIsNullOrWhiteSpace(settings.RedirectUri.ToString(), nameof(settings.RedirectUri)); Raise.ArgumentException.IfIsNullOrWhiteSpace(settings.PostLogoutRedirectUri.ToString(), nameof(settings.PostLogoutRedirectUri)); _settings = settings; _log = log; _clock = clock; _tokensCookieEncoder = tokensCookieEncoder; _csrfCookieEncoder = csrfCookieEncoder; _authCodeHandler = authCodeHandler; _userValidator = userValidator; }
/// <summary> /// Inietta le dipendenze richieste dal controller. /// </summary> /// <param name="dataSourceManager">Il gestore della sorgente dati di Caravan.</param> /// <param name="clock">L'orologio di sistema.</param> /// <param name="oneTimeTokenEncoder"> /// Il componente che codifica e decodifica i token "one time". /// </param> public HelpController(ICaravanDataSourceManager dataSourceManager, IClock clock, ICookieEncoder<OneTimeToken> oneTimeTokenEncoder) : base(dataSourceManager, clock, oneTimeTokenEncoder) { }