如何使用 .net core 配置多个 okta 服务器的身份验证?

问题描述

我正在处理一个项目,该项目需要支持根据路由将客户端授权到两个 Okta 服务器之一(这是一个临时问题,但仍然必须解决)。这可能吗 ?如果是这样怎么办?

目前,我有这个授权 okta 服务器的代码

 public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            .AddOktaWebApi(new OktaWebApiOptions()
            {
                OktaDomain = Configuration["Okta:OktaDomain"],AuthorizationServerId = Configuration["Okta:AuthorizationServerId"],Audience = Configuration["Okta:Audience"]
            })
            
            services.AddAuthorization(options =>
            {
                options.AddPolicy("TestPolicy",new AuthorizationPolicyBuilder()
                    .RequireAuthenticatedUser()
                    .AddAuthenticationSchemes(OktaDefaults.ApiAuthenticationScheme)
                    .RequireClaim("testId")
                    .Build());
            });
            return IoC.ConfigureIoC(services);
        }

控制器是这样装饰的

[Authorize(Policy = "TestPolicy",AuthenticationSchemes = Okta.AspNetCore.OktaDefaults.ApiAuthenticationScheme)]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)