Ejemplo n.º 1
0
 /// <summary>
 /// Ctor.
 /// </summary>
 /// <param name="next">Next middleware.</param>
 /// <param name="options">Client credentials authorization options.</param>
 public ClientCredentialsAuthorizationMiddleware(RequestDelegate next, ClientCredentialsAuthorizationOptions options)
 {
     _next = Check.NotNull(next, nameof(next));
     _authorizationOptions = Check.NotNull(options, nameof(options));
     Check.NotNullOrWhiteSpace(options.AuthorityUrl, nameof(options.AuthorityUrl));
     Check.NotNullOrWhiteSpace(options.Scope, nameof(options.Scope));
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Add client credentials authorization middleware to request pipeline.
        /// </summary>
        /// <param name="app"><see cref="IApplicationBuilder"/> where middleware is added.</param>
        /// <param name="configuration">Configuration from which the options are loaded.
        /// Configuration must contains ClientCredentialsAuthorization section.</param>
        /// <exception cref="InvalidOperationException">
        /// When `ClientCredentialsAuthorization` section is missing in configuration.
        /// </exception>
        public static IApplicationBuilder UseClientCredentialsAuthorization(
            this IApplicationBuilder app,
            IConfiguration configuration)
        {
            ClientCredentialsAuthorizationOptions option = configuration.GetSection <ClientCredentialsAuthorizationOptions>();

            if (option is null)
            {
                throw new InvalidOperationException(
                          string.Format(Properties.Resources.OptionMissingSection,
                                        Helpers.GetSectionName <ClientCredentialsAuthorizationOptions>()));
            }

            return(app.UseMiddleware <ClientCredentialsAuthorizationMiddleware>(option));
        }