public CachedAccessTokenProvider(
			INonCachingAccessTokenProvider accessTokenProvider,
			TimeSpan tokenRefreshGracePeriod
			) {
			m_accessTokenProvider = accessTokenProvider;
			m_tokenRefreshGracePeriod = tokenRefreshGracePeriod;
			
			m_tokenHandler = new JwtSecurityTokenHandler();
		}
        public CachedAccessTokenProvider(
            INonCachingAccessTokenProvider accessTokenProvider,
            TimeSpan tokenRefreshGracePeriod
            )
        {
            m_accessTokenProvider     = accessTokenProvider;
            m_tokenRefreshGracePeriod = tokenRefreshGracePeriod;

            m_tokenHandler = new JwtSecurityTokenHandler();
        }
		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 );
		}
        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);
        }