Example #1
0
        public IActionResult AddOpenIDConfig(OIDConfig cfg, string tenantId)
        {
            var tenant = _repo.GetTenantById(tenantId);

            if (tenant.Protocol.Equals("oidc"))
            {
                var oidConfig = new OpenIDConfig
                {
                    Authority    = cfg.DirectoryId == null ? cfg.Authority : $"{cfg.Authority}/{cfg.DirectoryId}/",
                    ClientId     = cfg.ClientId,
                    ClientSecret = cfg.ClientSecret ?? "",
                    Tenant       = tenant,
                };

                _repo.AddOIDConfig(oidConfig);
            }
            return(Ok());
        }
Example #2
0
 private OpenIdConnectOptions BuildOidOptions(OpenIDConfig config)
 {
     return(new OpenIdConnectOptions
     {
         SignInScheme = "idsrv.external",
         SignOutScheme = "idsrv",
         RequireHttpsMetadata = false,
         Authority = config.Authority,
         ClientId = config.ClientId,
         ClientSecret = config.ClientSecret ?? "",
         TokenValidationParameters = new TokenValidationParameters
         {
             ValidateIssuer = true,
             NameClaimType = JwtClaimTypes.Subject,
             RoleClaimType = JwtClaimTypes.Role,
         },
         SaveTokens = true,
         CallbackPath = $"/signin-oidc-{config.TenantId}"
     });
 }
Example #3
0
 /// <summary>
 /// Adds openidconfig in DB, needed for dynamic setup of oid schemes
 /// </summary>
 /// <param name="cfg"></param>
 public void AddOIDConfig(OpenIDConfig cfg)
 {
     _dbContext.Add(cfg);
     _dbContext.SaveChanges();
 }