private static Action <IApplicationBuilder> ApiAuthentication(IConfiguration configuration)
        {
            var options = new OAuthValidationOptions
            {
                AutomaticAuthenticate = true,
                AutomaticChallenge    = true
            };

            options.Audiences.Add(configuration.ApiHostName());

            return(branch => branch.UseOAuthValidation(options));
        }
示例#2
0
        /// <summary>
        /// Adds a new instance of the OAuth2 validation middleware in the OWIN/Katana pipeline.
        /// </summary>
        /// <param name="app">The application builder.</param>
        /// <param name="options">The options used to configure the validation middleware.</param>
        /// <returns>The application builder.</returns>
        public static IAppBuilder UseOAuthValidation(
            [NotNull] this IAppBuilder app,
            [NotNull] OAuthValidationOptions options)
        {
            if (app == null)
            {
                throw new ArgumentNullException(nameof(app));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            return(app.Use <OAuthValidationMiddleware>(app.Properties, options));
        }
        public void Configure(string name, OAuthValidationOptions options)
        {
            // Ignore validation handler instances that don't correspond to the instance managed by the OpenID module.
            if (!string.Equals(name, OAuthValidationDefaults.AuthenticationScheme, StringComparison.Ordinal))
            {
                return;
            }

            var settings = _openIdService.GetOpenIdSettingsAsync().GetAwaiter().GetResult();

            if (!_openIdService.IsValidOpenIdSettings(settings))
            {
                return;
            }

            options.Audiences.UnionWith(settings.Audiences);
            options.DataProtectionProvider = _dataProtectionProvider;
        }
示例#4
0
        /// <summary>
        /// Adds a new instance of the OAuth2 validation middleware in the OWIN/Katana pipeline.
        /// </summary>
        /// <param name="app">The application builder.</param>
        /// <param name="configuration">The delegate used to configure the validation options.</param>
        /// <returns>The application builder.</returns>
        public static IAppBuilder UseOAuthValidation(
            [NotNull] this IAppBuilder app,
            [NotNull] Action <OAuthValidationOptions> configuration)
        {
            if (app == null)
            {
                throw new ArgumentNullException(nameof(app));
            }

            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            var options = new OAuthValidationOptions();

            configuration(options);

            return(app.UseOAuthValidation(options));
        }
示例#5
0
        /// <summary>
        /// Configures the OAuth2 validation middleware to enable logging.
        /// </summary>
        /// <param name="options">The options used to configure the OAuth2 validation middleware.</param>
        /// <param name="configuration">The delegate used to configure the logger factory.</param>
        /// <returns>The options used to configure the OAuth2 validation middleware.</returns>
        public static OAuthValidationOptions UseLogging(
            [NotNull] this OAuthValidationOptions options,
            [NotNull] Action <ILoggerFactory> configuration)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            var factory = new LoggerFactory();

            configuration(factory);

            options.Logger = factory.CreateLogger <OAuthValidationMiddleware>();

            return(options);
        }
示例#6
0
 public void Configure(OAuthValidationOptions options)
 {
 }
示例#7
0
 public void Configure(string name, OAuthValidationOptions options)
 {
 }