public async Task InvalidAudienceThrowsSecurityTokenInvalidAudienceException() { audience = "777"; var keys = new List <SecurityKey>(); byte[] exponent = Base64UrlDecoder(e); byte[] modulus = Base64UrlDecoder(n); var rsaParameters = new RSAParameters { Exponent = Base64UrlDecoder(e), Modulus = Base64UrlDecoder(n) }; var rsaSecurityKey = new RsaSecurityKey(rsaParameters) { KeyId = kid }; keys.Add(rsaSecurityKey); _discoveryDocument.SetupGet(d => d.SigningKeys).Returns(keys); var validator = new OpenIdConnectTokenValidator(); try { bool result = validator.ValidateOpenIdConnectJSONWebToken(token, issuer, audience, nonce, _discoveryDocument.Object, false); } catch (Exception exception) { Assert.IsTrue(exception is SecurityTokenInvalidAudienceException); } }
public async Task InvalidTokenThrowsArgumentException() { token = "7.7.7"; // Need the keys array to get passed validationParameters = new TokenValidationParameters() { ... } // and execute ValidateToken(token, validationParameters, out rawValidatedToken) var keys = new List <SecurityKey>(); byte[] exponent = Base64UrlDecoder(e); byte[] modulus = Base64UrlDecoder(n); var rsaParameters = new RSAParameters { Exponent = Base64UrlDecoder(e), Modulus = Base64UrlDecoder(n) }; var rsaSecurityKey = new RsaSecurityKey(rsaParameters) { KeyId = kid }; keys.Add(rsaSecurityKey); _discoveryDocument.SetupGet(d => d.SigningKeys).Returns(keys); var validator = new OpenIdConnectTokenValidator(); try { bool result = validator.ValidateOpenIdConnectJSONWebToken(token, issuer, audience, nonce, _discoveryDocument.Object, false); } catch (Exception exception) { Assert.IsTrue(exception is ArgumentException); } }
public async Task InvalidNonceThrowsSecurityTokenValidationException() { // The real nonce is found in the token, just make this any other value nonce = "777"; var keys = new List <SecurityKey>(); byte[] exponent = Base64UrlDecoder(e); byte[] modulus = Base64UrlDecoder(n); var rsaParameters = new RSAParameters { Exponent = Base64UrlDecoder(e), Modulus = Base64UrlDecoder(n) }; var rsaSecurityKey = new RsaSecurityKey(rsaParameters) { KeyId = kid }; keys.Add(rsaSecurityKey); _discoveryDocument.SetupGet(d => d.SigningKeys).Returns(keys); var validator = new OpenIdConnectTokenValidator(); bool result = validator.ValidateOpenIdConnectJSONWebToken(token, issuer, audience, nonce, _discoveryDocument.Object, false); Assert.AreEqual(false, result); }
public async Task NoKeysReturnsFalse() { var keys = new List <SecurityKey>(); _discoveryDocument.SetupGet(d => d.SigningKeys).Returns(keys); var validator = new OpenIdConnectTokenValidator(); bool result = validator.ValidateOpenIdConnectJSONWebToken(token, issuer, audience, nonce, _discoveryDocument.Object, false); Assert.AreEqual(false, result); }
public async Task NullDiscoveryDocumentThrowsArgumentNullException() { var keys = new List <SecurityKey>(); _discoveryDocument.SetupGet(d => d.SigningKeys).Returns(keys); var validator = new OpenIdConnectTokenValidator(); try { bool result = validator.ValidateOpenIdConnectJSONWebToken(token, issuer, audience, nonce, null, false); } catch (Exception exception) { Assert.IsTrue(exception is ArgumentNullException); } }
public async Task ValidKeyReturnsTrue() { var keys = new List <SecurityKey>(); byte[] exponent = Base64UrlDecoder(e); byte[] modulus = Base64UrlDecoder(n); var rsaParameters = new RSAParameters { Exponent = Base64UrlDecoder(e), Modulus = Base64UrlDecoder(n) }; var rsaSecurityKey = new RsaSecurityKey(rsaParameters) { KeyId = kid }; keys.Add(rsaSecurityKey); _discoveryDocument.SetupGet(d => d.SigningKeys).Returns(keys); var validator = new OpenIdConnectTokenValidator(); bool result = validator.ValidateOpenIdConnectJSONWebToken(token, issuer, audience, nonce, _discoveryDocument.Object, false); Assert.AreEqual(true, result); }