public AuthorizeRequestValidator(
     IdentityServerOptions options,
     IClientStore clients,
     ICustomAuthorizeRequestValidator customValidator,
     IRedirectUriValidator uriValidator,
     IResourceValidator resourceValidator,
     IUserSession userSession,
     JwtRequestValidator jwtRequestValidator,
     JwtRequestUriHttpClient jwtRequestUriHttpClient,
     ILogger <AuthorizeRequestValidator> logger)
 {
     _options                 = options;
     _clients                 = clients;
     _customValidator         = customValidator;
     _uriValidator            = uriValidator;
     _resourceValidator       = resourceValidator;
     _jwtRequestValidator     = jwtRequestValidator;
     _userSession             = userSession;
     _jwtRequestUriHttpClient = jwtRequestUriHttpClient;
     _logger = logger;
 }
예제 #2
0
        public static AuthorizeRequestValidator CreateAuthorizeRequestValidator(
            IdentityServerOptions options = null,
            IResourceStore resourceStore  = null,
            IClientStore clients          = null,
            IProfileService profile       = null,
            ICustomAuthorizeRequestValidator customValidator = null,
            IRedirectUriValidator uriValidator              = null,
            IResourceValidator resourceValidator            = null,
            JwtRequestValidator jwtRequestValidator         = null,
            JwtRequestUriHttpClient jwtRequestUriHttpClient = null)
        {
            if (options == null)
            {
                options = TestIdentityServerOptions.Create();
            }

            if (resourceStore == null)
            {
                resourceStore = new InMemoryResourcesStore(TestScopes.GetIdentity(), TestScopes.GetApis(), TestScopes.GetScopes());
            }

            if (clients == null)
            {
                clients = new InMemoryClientStore(TestClients.Get());
            }

            if (customValidator == null)
            {
                customValidator = new DefaultCustomAuthorizeRequestValidator();
            }

            if (uriValidator == null)
            {
                uriValidator = new StrictRedirectUriValidator();
            }

            if (resourceValidator == null)
            {
                resourceValidator = CreateResourceValidator(resourceStore);
            }

            if (jwtRequestValidator == null)
            {
                jwtRequestValidator = new JwtRequestValidator("https://identityserver", new LoggerFactory().CreateLogger <JwtRequestValidator>());
            }

            if (jwtRequestUriHttpClient == null)
            {
                jwtRequestUriHttpClient = new JwtRequestUriHttpClient(new HttpClient(new NetworkHandler(new Exception("no jwt request uri response configured"))), new LoggerFactory());
            }


            var userSession = new MockUserSession();

            return(new AuthorizeRequestValidator(
                       options,
                       clients,
                       customValidator,
                       uriValidator,
                       resourceValidator,
                       userSession,
                       jwtRequestValidator,
                       jwtRequestUriHttpClient,
                       TestLogger.Create <AuthorizeRequestValidator>()));
        }