コード例 #1
0
        public async Task TokenValidationErrorThrowsAnException()
        {
            // arrange
            var fixture  = new OAuthTokenValidatorFixture();
            var httpMock = HttpMockRepository.At("http://localhost:6889");
            var token    = fixture.TokenGenerator.GenerateToken(DateTime.UtcNow.AddMinutes(-15), DateTime.UtcNow.AddMinutes(-5), DateTime.UtcNow.AddMinutes(-10));

            var keys = new WebKeys
            {
                Keys = new List <JsonWebKey> {
                    fixture.TokenGenerator.JsonWebKey
                }
            };

            httpMock
            .Stub(x => x.Get("/keyz"))
            .Return(JsonConvert.SerializeObject(keys))
            .OK();

            var sut = fixture.Instance;
            await sut.InitAsync();

            var act = new Action(() => sut.ValidateToken(token));

            // act
            // assert
            act.ShouldThrow <SecurityTokenExpiredException>();
        }
コード例 #2
0
        public async Task TokenThatPassesValidationIsReturned()
        {
            // arrange
            var fixture  = new OAuthTokenValidatorFixture();
            var httpMock = HttpMockRepository.At("http://localhost:6889");
            var token    = fixture.TokenGenerator.GenerateToken();

            var keys = new WebKeys
            {
                Keys = new List <JsonWebKey> {
                    fixture.TokenGenerator.JsonWebKey
                }
            };

            httpMock
            .Stub(x => x.Get("/keyz"))
            .Return(JsonConvert.SerializeObject(keys))
            .OK();

            var sut = fixture.Instance;
            await sut.InitAsync();

            // act
            var result = sut.ValidateToken(token);

            // assert
            result.Should().NotBeNull();
            result.Issuer.Should().Be(fixture.ValidIssuer);
        }