public void RefreshTokenPersists() { var subClaim = new Claim("sub", "*****@*****.**"); var emailClaim = new Claim("email", "*****@*****.**"); var token = new RefreshToken { AccessToken = new Token { CreationTime = DateTimeOffset.Now, Audience = "aud", Claims = new List <Claim> { subClaim, emailClaim }, Client = new Client { ClientId = "cid", ClientName = "cname", Enabled = true, SlidingRefreshTokenLifetime = 100, AccessTokenType = AccessTokenType.Jwt, //todo //Flow = Flows.Implicit }, Issuer = "iss", Lifetime = 1234567, Type = OidcConstants.TokenTypes.RefreshToken, Version = 1, }, CreationTime = DateTimeOffset.Now, Version = 1, LifeTime = 1234567, Subject = new ClaimsPrincipal(new ClaimsIdentity(new List <Claim> { subClaim, emailClaim })) }; var clients = new List <Client> { new Client { ClientId = "cid", ClientName = "cname", Enabled = true, SlidingRefreshTokenLifetime = 100, AccessTokenType = AccessTokenType.Jwt, //todo //Flow = Flows.Implicit } }; var clientStore = new InMemoryClientStore(clients); var scopes = new List <Scope> { new Scope { Description = "sdescription", Name = "sname", Enabled = true, Emphasize = false, IncludeAllClaimsForUser = true, Required = false, Type = ScopeType.Identity } }; var scopeStore = new InMemoryScopeStore(scopes); var store = new RedisRefreshTokenStore(clientStore, scopeStore, RedisServer); store.StoreAsync("key2", token).Wait(); var result = store.GetAsync("key2").Result; Assert.Equal(token.SubjectId, result.SubjectId); Assert.Equal(token.ClientId, result.ClientId); }
public void RefreshTokenPersists() { var subClaim = new Claim("sub", "*****@*****.**"); var emailClaim = new Claim("email", "*****@*****.**"); var token = new RefreshToken { AccessToken = new Token { CreationTime = DateTimeOffset.Now, Audience = "aud", Claims = new List<Claim> { subClaim, emailClaim}, Client = new Client { ClientId = "cid", ClientName = "cname", Enabled = true, SlidingRefreshTokenLifetime = 100, AccessTokenType = AccessTokenType.Jwt, Flow = Flows.Implicit }, Issuer = "iss", Lifetime = 1234567, Type = Constants.TokenTypes.RefreshToken, Version = 1, }, CreationTime = DateTimeOffset.Now, Version = 1, LifeTime = 1234567, Subject = new ClaimsPrincipal(new ClaimsIdentity(new List<Claim> { subClaim, emailClaim })) }; var clients = new List<Client> { new Client { ClientId = "cid", ClientName = "cname", Enabled = true, SlidingRefreshTokenLifetime = 100, AccessTokenType = AccessTokenType.Jwt, Flow = Flows.Implicit } }; var clientStore = new InMemoryClientStore(clients); var scopes = new List<Scope> { new Scope { Description = "sdescription", Name = "sname", Enabled = true, Emphasize = false, IncludeAllClaimsForUser = true, Required = false, Type = ScopeType.Identity } }; var scopeStore = new InMemoryScopeStore(scopes); var store = new RedisRefreshTokenStore(clientStore, scopeStore, RedisServer); store.StoreAsync("key2", token).Wait(); var result = store.GetAsync("key2").Result; Assert.Equal(token.SubjectId, result.SubjectId); Assert.Equal(token.ClientId, result.ClientId); }