/// <summary> /// 角色授权服务 /// </summary> /// <typeparam name="TAuthorizationRequirement">自定义验证的标识</typeparam> /// <param name="services">服务上下文</param> /// <param name="authModel">验证授权配置</param> /// <param name="name">定义策略名称</param> /// <returns></returns> public static IServiceCollection AddRoleService( this IServiceCollection services, AuthConfigModel authModel ) { AuthConfig.Init(authModel); // 定义如何生成用户的 Token var tokenValidationParameters = AuthConfig.GetTokenValidationParameters(); // 导入角色身份认证策略 // 导入角色身份认证策略 services.AddAuthentication(options => { options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(options => { options.TokenValidationParameters = tokenValidationParameters; options.SaveToken = true; }); return(services); }
public AuthService(IOptionsSnapshot <AuthConfigModel> authConfigModelAcc, DatabaseContext db, IHttpContextAccessor ctxAcc, IRoleService roleService) { this.authConfig = authConfigModelAcc.Value; ctx = ctxAcc.HttpContext !; this.db = db; this.roleService = roleService; }
public ActionResult SpaConfig() { var auth = new AuthConfigModel { Authority = UriHelper.BuildAbsolute(Request.Scheme, Request.Host), ClientId = AppConfig.Identity.JsClient.ClientId, RedirectUri = AppConfig.Identity.JsClient.ClientUri + LoginCallback, PostLogoutRedirectUri = AppConfig.Identity.JsClient.ClientUri + LogoutCallback, ResponseType = "code", }; if (AppConfig.Identity.JsClient.AllowedScopes != null) { auth.Scope = string.Join(" ", AppConfig.Identity.JsClient.AllowedScopes); } var config = new ConfigModel(auth); return(Ok(config)); }
public AuthBuilder() { authModel = new AuthConfigModel(); }
public TokenService(IOptionsSnapshot <AuthConfigModel> authConfigModelAcc) { m_authConfig = authConfigModelAcc.Value; }
public static IServiceCollection AddAuthStartup(this IServiceCollection services, AuthConfigModel authConfig) { services .AddAuthentication(o => { o.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; o.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; o.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(options => { var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(authConfig.Key)); options.TokenValidationParameters.ValidIssuer = authConfig.Issuer; options.TokenValidationParameters.ValidAudience = authConfig.Audience; options.TokenValidationParameters.IssuerSigningKey = key; options.TokenValidationParameters.ValidateIssuerSigningKey = true; options.TokenValidationParameters.ValidateLifetime = true; options.TokenValidationParameters.ClockSkew = TimeSpan.Zero; }); return(services.AddAuthorization()); }