public AccessTokenProvider( ITokenSigner tokenSigner, IAuthServiceClient authServiceClient ) { m_tokenSigner = tokenSigner; m_client = authServiceClient; }
public AuthServiceMock(KeyType keyType = KeyType.RSA) { m_server = HttpMockFactory.Create(out m_host); #pragma warning disable 618 m_publicKeyDataProvider = PublicKeyDataProviderFactory.CreateInternal(new InMemoryPublicKeyDataProvider()); #pragma warning restore 618 TimeSpan keyLifetime = TimeSpan.FromDays(365); TimeSpan keyRotationPeriod = TimeSpan.FromDays(182); switch (keyType) { case KeyType.ECDSA_P256: case KeyType.ECDSA_P384: case KeyType.ECDSA_P521: { CngAlgorithm curve; switch (keyType) { case KeyType.ECDSA_P521: curve = CngAlgorithm.ECDsaP521; break; case KeyType.ECDSA_P384: curve = CngAlgorithm.ECDsaP384; break; case KeyType.ECDSA_P256: default: curve = CngAlgorithm.ECDsaP256; break; } m_privateKeyProvider = EcDsaPrivateKeyProvider .Factory .Create( m_publicKeyDataProvider, keyLifetime, keyRotationPeriod, curve ); break; } case KeyType.RSA: default: { m_privateKeyProvider = RsaPrivateKeyProvider .Factory .Create( m_publicKeyDataProvider, keyLifetime, keyRotationPeriod ); break; } } m_tokenSigner = new TokenSigner(m_privateKeyProvider); }
public void OneTimeSetUp() { #pragma warning disable 618 m_privateKeyProvider = new StaticPrivateKeyProvider( keyId: TestKeyId, rsaParameters: TestStaticKeyProvider.TestRSAParameters); #pragma warning restore 618 m_tokenSigner = new TokenSigner(m_privateKeyProvider); }
public AuthServiceMock( KeyType keyType = KeyType.RSA ) { m_server = HttpMockFactory.Create( out m_host ); #pragma warning disable 618 m_publicKeyDataProvider = PublicKeyDataProviderFactory.CreateInternal( new InMemoryPublicKeyDataProvider() ); #pragma warning restore 618 TimeSpan keyLifetime = TimeSpan.FromDays( 365 ); TimeSpan keyRotationPeriod = TimeSpan.FromDays( 182 ); switch( keyType ) { case KeyType.ECDSA_P256: case KeyType.ECDSA_P384: case KeyType.ECDSA_P521: { CngAlgorithm curve; switch( keyType ) { case KeyType.ECDSA_P521: curve = CngAlgorithm.ECDsaP521; break; case KeyType.ECDSA_P384: curve = CngAlgorithm.ECDsaP384; break; case KeyType.ECDSA_P256: default: curve = CngAlgorithm.ECDsaP256; break; } m_privateKeyProvider = EcDsaPrivateKeyProvider .Factory .Create( m_publicKeyDataProvider, keyLifetime, keyRotationPeriod, curve ); break; } case KeyType.RSA: default: { m_privateKeyProvider = RsaPrivateKeyProvider .Factory .Create( m_publicKeyDataProvider, keyLifetime, keyRotationPeriod ); break; } } m_tokenSigner = new TokenSigner( m_privateKeyProvider ); }
static TestUtilities() { #pragma warning disable 618 IPublicKeyDataProvider publicKeyDataProvider = new InMemoryPublicKeyDataProvider(); #pragma warning restore 618 m_signer = EcDsaTokenSignerFactory .Create( publicKeyDataProvider, EcDsaTokenSignerFactory.Curve.P256 ); IAccessTokenValidator accessTokenValidator = AccessTokenValidatorFactory .CreateLocalValidator( publicKeyDataProvider ); RequestAuthenticator = RequestAuthenticatorFactory.Create( accessTokenValidator ); }
static TestUtilities() { #pragma warning disable 618 IPublicKeyDataProvider publicKeyDataProvider = new InMemoryPublicKeyDataProvider(); #pragma warning restore 618 m_signer = EcDsaTokenSignerFactory .Create(publicKeyDataProvider, EcDsaTokenSignerFactory.Curve.P256); IAccessTokenValidator accessTokenValidator = AccessTokenValidatorFactory .CreateLocalValidator(publicKeyDataProvider); RequestAuthenticator = RequestAuthenticatorFactory.Create(accessTokenValidator); }
public void SetUp() { Mock<IAuthServiceClient> clientMock = new Mock<IAuthServiceClient>(); clientMock .Setup( x => x.ProvisionAccessTokenAsync( It.IsAny<string>(), It.IsAny<IEnumerable<Scope>>() ) ) .Callback<string, IEnumerable<Scope>>( ( assertion, _ ) => { var tokenHandler = new JwtSecurityTokenHandler(); m_actualAssertion = (JwtSecurityToken)tokenHandler.ReadToken( assertion ); } ) .ReturnsAsync( null ); #pragma warning disable 618 m_publicKeyDataProvider = new InMemoryPublicKeyDataProvider(); #pragma warning restore 618 m_tokenSigner = RsaTokenSignerFactory.Create( m_publicKeyDataProvider ); m_accessTokenProvider = new AccessTokenProvider( m_tokenSigner, clientMock.Object ); }
/// <summary> /// Factory method for creating new <see cref="IAccessTokenProvider"/> instances. <paramref name="httpClient"/> will not be diposed. /// </summary> /// <returns>A new <see cref="IAccessTokenProvider"/></returns> public static IAccessTokenProvider Create( ITokenSigner tokenSigner, HttpClient httpClient, Uri authEndpoint, TimeSpan tokenRefreshGracePeriod ) { IAuthServiceClient authServiceClient = new AuthServiceClient( httpClient, authEndpoint ); INonCachingAccessTokenProvider accessTokenProvider = new AccessTokenProvider(tokenSigner, authServiceClient); return(new CachedAccessTokenProvider(accessTokenProvider, authEndpoint, tokenRefreshGracePeriod)); }
/// <summary> /// Factory method for creating new <see cref="IAccessTokenProvider"/> instances. <paramref name="httpClient"/> will not be diposed. /// </summary> /// <returns>A new <see cref="IAccessTokenProvider"/></returns> public static IAccessTokenProvider Create( ITokenSigner tokenSigner, HttpClient httpClient, Uri authEndpoint, TimeSpan tokenRefreshGracePeriod ) { IAuthServiceClient authServiceClient = new AuthServiceClient( httpClient, authEndpoint ); INonCachingAccessTokenProvider accessTokenProvider = new AccessTokenProvider( tokenSigner, authServiceClient ); return new CachedAccessTokenProvider( accessTokenProvider, tokenRefreshGracePeriod ); }
public void SetUp() { Mock <IAuthServiceClient> clientMock = new Mock <IAuthServiceClient>(); clientMock .Setup(x => x.ProvisionAccessTokenAsync(It.IsAny <string>(), It.IsAny <IEnumerable <Scope> >())) .Callback <string, IEnumerable <Scope> >((assertion, _) => { var tokenHandler = new JwtSecurityTokenHandler(); m_actualAssertion = ( JwtSecurityToken )tokenHandler.ReadToken(assertion); }) .ReturnsAsync(value: null); #pragma warning disable 618 m_publicKeyDataProvider = new InMemoryPublicKeyDataProvider(); #pragma warning restore 618 m_tokenSigner = RsaTokenSignerFactory.Create(m_publicKeyDataProvider); m_accessTokenProvider = new AccessTokenProvider(m_tokenSigner, clientMock.Object); }
private void SetUp(out Uri host, out string token, out Guid id) { string hostStr; var server = HttpMockFactory.Create(out hostStr); host = new Uri(hostStr); #pragma warning disable 618 IPublicKeyDataProvider publicKeyDataProvider = new InMemoryPublicKeyDataProvider(); #pragma warning restore 618 ITokenSigner tokenSigner = GetTokenSigner(publicKeyDataProvider); token = tokenSigner .SignAsync(new UnsignedToken( "some issuer", "some audience", new List <Claim>(), DateTime.Now, DateTime.Now + TimeSpan.FromDays(1) )) .SafeAsync() .GetAwaiter() .GetResult(); var jwk = publicKeyDataProvider .GetAllAsync() .SafeAsync() .GetAwaiter() .GetResult() .First(); id = jwk.Id; server .Stub(r => r.Get("/.well-known/jwks")) .Return(JsonConvert.SerializeObject(new { keys = new object[] { jwk.ToJwkDto() } })) .OK(); }