public static TokenValidator CreateTokenValidator( IReferenceTokenStore store = null, IRefreshTokenStore refreshTokenStore = null, IProfileService profile = null, IdentityServerOptions options = null, ISystemClock clock = null) { if (options == null) { options = TestIdentityServerOptions.Create(); } if (profile == null) { profile = new TestProfileService(); } if (store == null) { store = CreateReferenceTokenStore(); } clock = clock ?? new StubClock(); if (refreshTokenStore == null) { refreshTokenStore = CreateRefreshTokenStore(); } var clients = CreateClientStore(); var context = new MockHttpContextAccessor(options); var logger = TestLogger.Create <TokenValidator>(); var keyInfo = new SecurityKeyInfo { Key = TestCert.LoadSigningCredentials().Key, SigningAlgorithm = "RS256" }; var validator = new TokenValidator( clients: clients, clock: clock, profile: profile, referenceTokenStore: store, refreshTokenStore: refreshTokenStore, customValidator: new DefaultCustomTokenValidator(), keys: new DefaultKeyMaterialService(new[] { new InMemoryValidationKeysStore(new[] { keyInfo }) }, Enumerable.Empty <ISigningCredentialStore>()), logger: logger, options: options, context: context); return(validator); }
public static TokenRequestValidator CreateTokenRequestValidator( IdentityServerOptions options = null, IResourceStore resourceStore = null, IAuthorizationCodeStore authorizationCodeStore = null, IRefreshTokenStore refreshTokenStore = null, IResourceOwnerPasswordValidator resourceOwnerValidator = null, IProfileService profile = null, IDeviceCodeValidator deviceCodeValidator = null, IEnumerable <IExtensionGrantValidator> extensionGrantValidators = null, ICustomTokenRequestValidator customRequestValidator = null, ITokenValidator tokenValidator = null, IResourceValidator resourceValidator = null) { if (options == null) { options = TestIdentityServerOptions.Create(); } 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 (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 (tokenValidator == null) { tokenValidator = CreateTokenValidator(refreshTokenStore: refreshTokenStore, profile: profile); } return(new TokenRequestValidator( options, authorizationCodeStore, resourceOwnerValidator, profile, deviceCodeValidator, aggregateExtensionGrantValidator, customRequestValidator, resourceValidator, resourceStore, tokenValidator, new TestEventService(), new StubClock(), TestLogger.Create <TokenRequestValidator>())); }