/* * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) * See https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers * for more information concerning the license and the contributors participating to this project. */ using Microsoft.AspNetCore.Authentication; using System.Diagnostics.CodeAnalysis; using ZeroFramework.IdentityServer.API.Infrastructure.Authentication.Weixin; namespace Microsoft.Extensions.DependencyInjection; /// /// Extension methods to add Weixin authentication capabilities to an HTTP application pipeline. /// public static class WeixinAuthenticationExtensions { /// /// Adds to the specified /// , which enables Weixin authentication capabilities. /// /// The authentication builder. /// A reference to this instance after the operation has completed. public static AuthenticationBuilder AddWeixin([NotNull] this AuthenticationBuilder builder) { return builder.AddWeixin(WeixinAuthenticationDefaults.AuthenticationScheme, options => { }); } /// /// Adds to the specified /// , which enables Weixin authentication capabilities. /// /// The authentication builder. /// The delegate used to configure the OpenID 2.0 options. /// A reference to this instance after the operation has completed. public static AuthenticationBuilder AddWeixin( [NotNull] this AuthenticationBuilder builder, [NotNull] Action configuration) { return builder.AddWeixin(WeixinAuthenticationDefaults.AuthenticationScheme, configuration); } /// /// Adds to the specified /// , which enables Weixin authentication capabilities. /// /// The authentication builder. /// The authentication scheme associated with this instance. /// The delegate used to configure the Weixin options. /// The . public static AuthenticationBuilder AddWeixin( [NotNull] this AuthenticationBuilder builder, [NotNull] string scheme, [NotNull] Action configuration) { return builder.AddWeixin(scheme, WeixinAuthenticationDefaults.DisplayName, configuration); } /// /// Adds to the specified /// , which enables Weixin authentication capabilities. /// /// The authentication builder. /// The authentication scheme associated with this instance. /// The optional display name associated with this instance. /// The delegate used to configure the Weixin options. /// The . public static AuthenticationBuilder AddWeixin( [NotNull] this AuthenticationBuilder builder, [NotNull] string scheme, [MaybeNull] string caption, [NotNull] Action configuration) { return builder.AddOAuth(scheme, caption, configuration); } }