Beispiel #1
0
        public async Task Create_and_Validate_JWT_AccessToken_Valid()
        {
            var tokenService = new DefaultTokenService(
                null,
                _settings,
                null,
                null);

            var token = new Token(Constants.TokenTypes.AccessToken)
            {
                Audience = string.Format(Constants.AccessTokenAudience, _settings.IssuerUri),
                Issuer   = _settings.IssuerUri,
                Lifetime = 60,
                Client   = await _clients.FindClientByIdAsync("client")
            };

            var jwt = await tokenService.CreateSecurityTokenAsync(token);

            var validator = new TokenValidator(_settings, null, null, new DebugLogger());
            var result    = await validator.ValidateAccessTokenAsync(jwt);

            Assert.IsFalse(result.IsError);
            Assert.IsNotNull(result.Claims);
        }
        public async Task Create_and_Validate_JWT_AccessToken_Valid()
        {
            var tokenService = new DefaultTokenService(
                null,
                _settings,
                null,
                null);

            var token = new Token(Constants.TokenTypes.AccessToken)
            {
                Audience = string.Format(Constants.AccessTokenAudience, _settings.GetIssuerUri()),
                Issuer = _settings.GetIssuerUri(),
                Lifetime = 60,
                Client = await _settings.FindClientByIdAsync("client")
            };

            var jwt = await tokenService.CreateSecurityTokenAsync(token);

            var validator = new TokenValidator(_settings, null, null, new DebugLogger());
            var result = await validator.ValidateAccessTokenAsync(jwt);

            Assert.IsFalse(result.IsError);
            Assert.IsNotNull(result.Claims);
        }
        public async Task CreateSecurityTokenAsync_should_include_jti_in_access_tokens()
        {
            var token = new Token
            {
                Claims = { new Claim("sub", "123") }
            };

            {
                token.IncludeJwtId = false;
                token.Type         = OidcConstants.TokenTypes.IdentityToken;
                var result = await _subject.CreateSecurityTokenAsync(token);

                _mockTokenCreationService.Token.Claims.Should().NotContain(x => x.Type == "jti");
            }

            {
                token.IncludeJwtId = false;
                token.Type         = OidcConstants.TokenTypes.AccessToken;
                var result = await _subject.CreateSecurityTokenAsync(token);

                _mockTokenCreationService.Token.Claims.Should().NotContain(x => x.Type == "jti");
            }

            {
                token.IncludeJwtId = true;
                token.Type         = OidcConstants.TokenTypes.IdentityToken;
                var result = await _subject.CreateSecurityTokenAsync(token);

                _mockTokenCreationService.Token.Claims.Should().NotContain(x => x.Type == "jti");
            }

            {
                token.IncludeJwtId = true;
                token.Type         = OidcConstants.TokenTypes.AccessToken;
                var result = await _subject.CreateSecurityTokenAsync(token);

                _mockTokenCreationService.Token.Claims.Should().Contain(x => x.Type == "jti");
            }
        }
Beispiel #4
0
 public async Task <string> CreateSecurityTokenAsync(Token token)
 {
     return(await _delegate.CreateSecurityTokenAsync(token));
 }