public static Token CreateIdentityToken() { var token = new Token(Constants.TokenTypes.IdentityToken) { Audience = "client", Issuer = "issuer", Lifetime = 60, Claims = new List<Claim> { new Claim("sub", "subject") } }; return token; }
public static Token CreateAccessToken() { var token = new Token(Constants.TokenTypes.AccessToken) { Audience = "audience", Issuer = "issuer", Lifetime = 60, Claims = new List<Claim> { new Claim("client_id", "client"), new Claim("scope", "openid") } }; return token; }
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); }
protected virtual IEnumerable<Claim> ReferenceTokenToClaims(Token token) { var claims = new List<Claim> { new Claim(Constants.ClaimTypes.Audience, token.Audience), new Claim(Constants.ClaimTypes.Issuer, token.Issuer), new Claim(Constants.ClaimTypes.NotBefore, token.CreationTime.ToEpochTime().ToString()), new Claim(Constants.ClaimTypes.Expiration, token.CreationTime.AddSeconds(token.Lifetime).ToEpochTime().ToString()) }; claims.AddRange(token.Claims); return claims; }
public Task StoreAsync(string key, Token value) { _repository[key] = value; return Task.FromResult<object>(null); }