这是基于vue-vben-admin 模板适用于abp vNext的前端管理项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

105 lines
3.9 KiB

using AspNet.Security.OAuth.Bilibili;
using AspNet.Security.OAuth.GitHub;
using AspNet.Security.OAuth.QQ;
using AspNet.Security.OAuth.Weixin;
using AspNet.Security.OAuth.WorkWeixin;
using LINGYUN.Abp.Account.OAuth;
using LINGYUN.Abp.Account.OAuth.Localization;
using LINGYUN.Abp.Account.Web.OAuth.ExternalProviders.Bilibili;
using LINGYUN.Abp.Account.Web.OAuth.ExternalProviders.GitHub;
using LINGYUN.Abp.Account.Web.OAuth.ExternalProviders.QQ;
using LINGYUN.Abp.Account.Web.OAuth.ExternalProviders.WeChat;
using LINGYUN.Abp.Account.Web.OAuth.ExternalProviders.WeCom;
using LINGYUN.Abp.Account.Web.OAuth.Microsoft.Extensions.DependencyInjection;
using LINGYUN.Abp.Tencent.QQ;
using LINGYUN.Abp.WeChat.Official;
using LINGYUN.Abp.WeChat.Work;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Account.Localization;
using Volo.Abp.AspNetCore.Mvc.Localization;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.VirtualFileSystem;
namespace LINGYUN.Abp.Account.Web.OAuth;
[DependsOn(typeof(AbpAccountWebModule))]
[DependsOn(typeof(AbpAccountOAuthModule))]
[DependsOn(typeof(AbpTencentQQModule))]
[DependsOn(typeof(AbpWeChatOfficialModule))]
[DependsOn(typeof(AbpWeChatWorkModule))]
public class AbpAccountWebOAuthModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
context.Services.PreConfigure<AbpMvcDataAnnotationsLocalizationOptions>(options =>
{
options.AddAssemblyResource(typeof(AccountResource), typeof(AbpAccountWebOAuthModule).Assembly);
});
PreConfigure<IMvcBuilder>(mvcBuilder =>
{
mvcBuilder.AddApplicationPartIfNotExists(typeof(AbpAccountWebOAuthModule).Assembly);
});
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<AbpAccountWebOAuthModule>("LINGYUN.Abp.Account.Web.OAuth");
});
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Get<AccountResource>()
.AddBaseTypes(typeof(AccountOAuthResource));
});
context.Services
.AddAuthentication()
.AddGitHub(options =>
{
options.ClientId = "ClientId";
options.ClientSecret = "ClientSecret";
options.Scope.Add("user:email");
}).UseSettingProvider<
GitHubAuthenticationOptions,
GitHubAuthenticationHandler,
GitHubAuthHandlerOptionsProvider>()
.AddQQ(options =>
{
options.ClientId = "ClientId";
options.ClientSecret = "ClientSecret";
}).UseSettingProvider<
QQAuthenticationOptions,
QQAuthenticationHandler,
QQAuthHandlerOptionsProvider>()
.AddWeixin(options =>
{
options.ClientId = "ClientId";
options.ClientSecret = "ClientSecret";
}).UseSettingProvider<
WeixinAuthenticationOptions,
WeixinAuthenticationHandler,
WeChatAuthHandlerOptionsProvider>()
.AddWorkWeixin(options =>
{
options.ClientId = "ClientId";
options.ClientSecret = "ClientSecret";
}).UseSettingProvider<
WorkWeixinAuthenticationOptions,
WorkWeixinAuthenticationHandler,
WeComAuthHandlerOptionsProvider>()
.AddBilibili(options =>
{
options.ClientId = "ClientId";
options.ClientSecret = "ClientSecret";
}).UseSettingProvider<
BilibiliAuthenticationOptions,
BilibiliAuthenticationHandler,
BilibiliAuthHandlerOptionsProvider>();
}
}