public void IssuerName() { var trust = new TrustManager { Issuers = { new ConfigurationManager<OpenIdConnectConfiguration>("https://accounts.google.com/.well-known/openid-configuration") } }; var issuers = trust.TokenValidationParameters.ValidIssuers.ToArray(); Assert.AreEqual(1, issuers.Length); Assert.AreEqual("accounts.google.com", issuers[0]); }
public void Discovery() { var trust = new TrustManager { Issuers = { new AuthenticationServer("https://accounts.google.com") } }; var google = trust.Issuers[0]; var config = google.GetConfigurationAsync(CancellationToken.None).Result; Assert.IsNotNull(config, "metadata is missing"); Assert.AreNotEqual(0, config.SigningTokens.Count(), "signing tokens missing"); }
public void AddIssuer() { var trust = new TrustManager { Issuers = { new AuthenticationServer("https://accounts.google.com") } }; var issuers = trust.TokenValidationParameters.ValidIssuers.ToArray(); Assert.AreEqual(1, issuers.Length); Assert.AreEqual("accounts.google.com", issuers[0]); trust.Issuers.Add(new AuthenticationServer("https://login.windows.net/common/")); issuers = trust.TokenValidationParameters.ValidIssuers.ToArray(); Assert.AreEqual(2, issuers.Length); Assert.AreEqual("accounts.google.com", issuers[0]); Assert.AreEqual("https://sts.windows.net/{tenantid}/", issuers[1]); }
public void ResolveSigningKey() { var trust = new TrustManager { Issuers = { new ConfigurationManager<OpenIdConnectConfiguration>("https://accounts.google.com/.well-known/openid-configuration") } }; var google = trust.Issuers[0]; var config = google.GetConfigurationAsync(CancellationToken.None).Result; var signingToken = config.SigningTokens.Last(); Assert.IsNotNull(signingToken.Id); var ski = new SecurityKeyIdentifier { new NamedKeySecurityKeyIdentifierClause(JwtHeaderParameterNames.Kid, signingToken.Id) }; var signingKey = trust.TokenValidationParameters.IssuerSigningKeyResolver(null, null, ski, null); Assert.IsNotNull(signingKey); Assert.AreEqual(signingToken.SecurityKeys.Last(), signingKey); }