public JwtBearerTokenAuthenticationOptions(JwtOptions jwtOptions)
        {
            if (jwtOptions == null)
            {
                throw new ArgumentNullException("jwtOptions");
            }

            byte[] symmetricKeyBytes = Encoding.UTF8.GetBytes(jwtOptions.JwtSigningKeyAsUtf8);
            string symmetricKeyAsBase64 = Convert.ToBase64String(symmetricKeyBytes);

            var symmetricKeyIssuerSecurityTokenProvider = new SymmetricKeyIssuerSecurityTokenProvider(
                jwtOptions.Issuer, symmetricKeyAsBase64);

            var providers = new IIssuerSecurityTokenProvider[]
                            {
                                symmetricKeyIssuerSecurityTokenProvider
                            };

            _jwtBearerOptions = new JwtBearerAuthenticationOptions
            {
                AllowedAudiences = new List<string> { jwtOptions.Audience },
                IssuerSecurityTokenProviders = providers
            };

            _jwtOptions = jwtOptions;
        }
Esempio n. 2
0
        public JwtFormat(TokenValidationParameters validationParameters, IIssuerSecurityTokenProvider issuerCredentialProvider)
            : this(validationParameters)
        {
            if (issuerCredentialProvider == null)
            {
                throw new ArgumentNullException("issuerCredentialProvider");
            }

            _issuerCredentialProviders = new[] { issuerCredentialProvider };
        }
Esempio n. 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="JwtFormat"/> class.
        /// </summary>
        /// <param name="allowedAudience">The allowed audience for JWTs.</param>
        /// <param name="issuerCredentialProvider">The issuer credential provider.</param>
        /// <exception cref="System.ArgumentNullException">Thrown if the <paramref name="issuerCredentialProvider"/> is null.</exception>
        public JwtFormat(string allowedAudience, IIssuerSecurityTokenProvider issuerCredentialProvider)
        {
            if (string.IsNullOrWhiteSpace(allowedAudience))
            {
                throw new ArgumentNullException("allowedAudience");
            }

            if (issuerCredentialProvider == null)
            {
                throw new ArgumentNullException("issuerCredentialProvider");
            }

            _allowedAudiences.Add(allowedAudience);

            _issuerCredentialProviders.Add(issuerCredentialProvider.Issuer, issuerCredentialProvider);

            ValidateIssuer = true;
        }
Esempio n. 4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="JwtFormat"/> class.
        /// </summary>
        /// <param name="allowedAudience">The allowed audience for JWTs.</param>
        /// <param name="issuerCredentialProvider">The issuer credential provider.</param>
        /// <exception cref="System.ArgumentNullException">Thrown if the <paramref name="issuerCredentialProvider"/> is null.</exception>
        public CustomJwtFormat(string allowedAudience, IIssuerSecurityTokenProvider issuerCredentialProvider)
            : this()
        {
            if (string.IsNullOrWhiteSpace(allowedAudience))
            {
                throw new ArgumentNullException("allowedAudience");
            }
            if (issuerCredentialProvider == null)
            {
                throw new ArgumentNullException("issuerCredentialProvider");
            }

            _validationParameters = new TokenValidationParameters()
            {
                ValidAudience      = allowedAudience,
                AuthenticationType = "JWT",
            };
            _issuerCredentialProviders = new[] { issuerCredentialProvider };
        }