| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // 大名科技(天津)有限公司 版权所有
- //
- // 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
- //
- // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动
- //
- // 任何基于本项目二次开发而产生的一切法律纠纷和责任,均与作者无关
- using Microsoft.AspNetCore.Authentication;
- using Microsoft.AspNetCore.Authentication.Cookies;
- using Microsoft.AspNetCore.Authentication.JwtBearer;
- using Microsoft.AspNetCore.Builder;
- namespace Admin.NET.Core;
- public static class OAuthSetup
- {
- /// <summary>
- /// 三方授权登录OAuth注册
- /// </summary>
- /// <param name="services"></param>
- public static void AddOAuth(this IServiceCollection services)
- {
- var authOpt = App.GetConfig<OAuthOptions>("OAuth", true);
- services.AddAuthentication(options =>
- {
- options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
- options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
- })
- .AddCookie(options =>
- {
- options.Cookie.SameSite = SameSiteMode.Lax;
- })
- .AddWeixin(options =>
- {
- options.ClientId = authOpt.Weixin?.ClientId;
- options.ClientSecret = authOpt.Weixin?.ClientSecret;
- })
- .AddGitee(options =>
- {
- options.ClientId = authOpt.Gitee?.ClientId;
- options.ClientSecret = authOpt.Gitee?.ClientSecret;
- options.ClaimActions.MapJsonKey(OAuthClaim.GiteeAvatarUrl, "avatar_url");
- });
- }
- public static void UseOAuth(this IApplicationBuilder app)
- {
- app.UseCookiePolicy(new CookiePolicyOptions { MinimumSameSitePolicy = SameSiteMode.Lax });
- }
- }
|