Пример #1
0
    public static DeviceAuthorizationRequestValidator CreateDeviceAuthorizationRequestValidator(
        IdentityServerOptions options        = null,
        IResourceStore resourceStore         = null,
        IResourceValidator resourceValidator = null)
    {
        if (options == null)
        {
            options = TestIdentityServerOptions.Create();
        }

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

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


        return(new DeviceAuthorizationRequestValidator(
                   options,
                   resourceValidator,
                   TestLogger.Create <DeviceAuthorizationRequestValidator>()));
    }
Пример #2
0
    public static TokenRequestValidator CreateTokenRequestValidator(
        IdentityServerOptions options                          = null,
        IIssuerNameService issuerNameService                   = null,
        IResourceStore resourceStore                           = null,
        IAuthorizationCodeStore authorizationCodeStore         = null,
        IRefreshTokenStore refreshTokenStore                   = null,
        IResourceOwnerPasswordValidator resourceOwnerValidator = null,
        IProfileService profile = null,
        IDeviceCodeValidator deviceCodeValidator = null,
        IBackchannelAuthenticationRequestIdValidator backchannelAuthenticationRequestIdValidator = null,
        IEnumerable <IExtensionGrantValidator> extensionGrantValidators = null,
        ICustomTokenRequestValidator customRequestValidator             = null,
        IRefreshTokenService refreshTokenService = null,
        IResourceValidator resourceValidator     = null)
    {
        if (options == null)
        {
            options = TestIdentityServerOptions.Create();
        }

        if (issuerNameService == null)
        {
            issuerNameService = new TestIssuerNameService(options.IssuerUri);
        }

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

        if (resourceOwnerValidator == null)
        {
            resourceOwnerValidator = new TestResourceOwnerPasswordValidator();
        }

        if (profile == null)
        {
            profile = new TestProfileService();
        }

        if (deviceCodeValidator == null)
        {
            deviceCodeValidator = new TestDeviceCodeValidator();
        }

        if (backchannelAuthenticationRequestIdValidator == null)
        {
            backchannelAuthenticationRequestIdValidator = new TestBackchannelAuthenticationRequestIdValidator();
        }

        if (customRequestValidator == null)
        {
            customRequestValidator = new DefaultCustomTokenRequestValidator();
        }

        ExtensionGrantValidator aggregateExtensionGrantValidator;

        if (extensionGrantValidators == null)
        {
            aggregateExtensionGrantValidator = new ExtensionGrantValidator(new[] { new TestGrantValidator() }, TestLogger.Create <ExtensionGrantValidator>());
        }
        else
        {
            aggregateExtensionGrantValidator = new ExtensionGrantValidator(extensionGrantValidators, TestLogger.Create <ExtensionGrantValidator>());
        }

        if (authorizationCodeStore == null)
        {
            authorizationCodeStore = CreateAuthorizationCodeStore();
        }

        if (refreshTokenStore == null)
        {
            refreshTokenStore = CreateRefreshTokenStore();
        }

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

        if (refreshTokenService == null)
        {
            refreshTokenService = CreateRefreshTokenService(
                refreshTokenStore,
                profile);
        }

        return(new TokenRequestValidator(
                   options,
                   issuerNameService,
                   authorizationCodeStore,
                   resourceOwnerValidator,
                   profile,
                   deviceCodeValidator,
                   backchannelAuthenticationRequestIdValidator,
                   aggregateExtensionGrantValidator,
                   customRequestValidator,
                   resourceValidator,
                   resourceStore,
                   refreshTokenService,
                   new TestEventService(),
                   new StubClock(),
                   TestLogger.Create <TokenRequestValidator>()));
    }
Пример #3
0
    public static AuthorizeRequestValidator CreateAuthorizeRequestValidator(
        IdentityServerOptions options        = null,
        IIssuerNameService issuerNameService = null,
        IResourceStore resourceStore         = null,
        IClientStore clients    = null,
        IProfileService profile = null,
        ICustomAuthorizeRequestValidator customValidator = null,
        IRedirectUriValidator uriValidator               = null,
        IResourceValidator resourceValidator             = null,
        JwtRequestValidator jwtRequestValidator          = null,
        IJwtRequestUriHttpClient jwtRequestUriHttpClient = null)
    {
        if (options == null)
        {
            options = TestIdentityServerOptions.Create();
        }

        if (issuerNameService == null)
        {
            issuerNameService = new TestIssuerNameService(options.IssuerUri);
        }

        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 DefaultJwtRequestUriHttpClient(new HttpClient(new NetworkHandler(new Exception("no jwt request uri response configured"))), options, new LoggerFactory(), new NoneCancellationTokenProvider());
        }


        var userSession = new MockUserSession();

        return(new AuthorizeRequestValidator(
                   options,
                   issuerNameService,
                   clients,
                   customValidator,
                   uriValidator,
                   resourceValidator,
                   userSession,
                   jwtRequestValidator,
                   jwtRequestUriHttpClient,
                   TestLogger.Create <AuthorizeRequestValidator>()));
    }
Пример #4
0
 internal static IResourceValidator CreateResourceValidator(IResourceStore store = null)
 {
     store = store ?? new InMemoryResourcesStore(TestScopes.GetIdentity(), TestScopes.GetApis(), TestScopes.GetScopes());
     return(new DefaultResourceValidator(store, new DefaultScopeParser(TestLogger.Create <DefaultScopeParser>()), TestLogger.Create <DefaultResourceValidator>()));
 }