/* * 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.QQ; namespace Microsoft.Extensions.DependencyInjection; /// /// Extension methods to add QQ authentication capabilities to an HTTP application pipeline. /// public static class QQAuthenticationExtensions { /// /// Adds to the specified /// , which enables QQ authentication capabilities. /// /// The authentication builder. /// The . public static AuthenticationBuilder AddQQ([NotNull] this AuthenticationBuilder builder) { return builder.AddQQ(QQAuthenticationDefaults.AuthenticationScheme, options => { }); } /// /// Adds to the specified /// , which enables QQ authentication capabilities. /// /// The authentication builder. /// The delegate used to configure the OpenID 2.0 options. /// The . public static AuthenticationBuilder AddQQ( [NotNull] this AuthenticationBuilder builder, [NotNull] Action configuration) { return builder.AddQQ(QQAuthenticationDefaults.AuthenticationScheme, configuration); } /// /// Adds to the specified /// , which enables QQ authentication capabilities. /// /// The authentication builder. /// The authentication scheme associated with this instance. /// The delegate used to configure the QQ options. /// The . public static AuthenticationBuilder AddQQ( [NotNull] this AuthenticationBuilder builder, [NotNull] string scheme, [NotNull] Action configuration) { return builder.AddQQ(scheme, QQAuthenticationDefaults.DisplayName, configuration); } /// /// Adds to the specified /// , which enables QQ 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 QQ options. /// The . public static AuthenticationBuilder AddQQ( [NotNull] this AuthenticationBuilder builder, [NotNull] string scheme, [MaybeNull] string caption, [NotNull] Action configuration) { return builder.AddOAuth(scheme, caption, configuration); } }