【问题标题】:Okta IDX20803: Unable to obtain configuration from: 'System.String' with .NET 5Okta IDX20803:无法从 .NET 5 的“System.String”获取配置
【发布时间】:2021-04-29 17:41:05
【问题描述】:

在下午的大部分时间里,我一直在四处挖掘和旋转轮胎,查看文档,但我似乎无法找到问题所在。我有一个 .NET 5 Web API,我们正在尝试将其配置为使用 OKTA 进行 OAuth 身份验证/授权。我已按照本文档 (https://developer.okta.com/docs/guides/protect-your-api/aspnetcore3/configure-packages/) 中的教程步骤进行操作,但出现上述错误 (IDX20803: Unable to get configuratoin from 'System.String')。

在我的 Startup.cs 中,配置服务有以下内容:

...
services.AddAuthentication(options =>
{
    options.DefaultAuthenticateScheme = OktaDefaults.ApiAuthenticationScheme;
    options.DefaultChallengeScheme = OktaDefaults.ApiAuthenticationScheme;
    options.DefaultSignInScheme = OktaDefaults.ApiAuthenticationScheme;
})
.AddOktaWebApi(new OktaWebApiOptions()
{
    OktaDomain = $"{Environment.GetEnvironmentVariable("OKTA_URL")}"
});

services.AddAuthorization();
...

我的 Statup.cs 配置部分包含以下内容:

...
app.UseAuthentication();

app.UseAuthorization();
...

我假设它在我的设置中,但我再次按照文档完成了此操作,包括配置 CORS,但无论我做什么,我都会执行 IDX20803 异常。

【问题讨论】:

  • 不认为你有什么用这个?
  • @GeorgeHarnwell 在与负责设置 Okta OAuth 部分的安全工程师讨论后,我找到了解决方案。设置说明中缺少一些元素。稍后我会在这里发布它们,如果您也遇到问题,希望对您有所帮助。
  • 我最终使用了不同的身份验证机制,但我感谢您回来分享您的发现!我相信它会在未来对其他人有所帮助。

标签: c# .net okta .net-5


【解决方案1】:

在与我在 Okta 本身中实际设置 Okta OAuth 的安全工程师讨论了这个问题后,它点击了问题所在。我们在 Okta 设置中缺少两个部分,见下文:

services.AddAuthentication(options =>
{
    options.DefaultAuthenticateScheme = OktaDefaults.ApiAuthenticationScheme;
    options.DefaultChallengeScheme = OktaDefaults.ApiAuthenticationScheme;
    options.DefaultSignInScheme = OktaDefaults.ApiAuthenticationScheme;
}
.AddOktaWebApi(new OktaWebApiOptions()
{
    OktaDomain = $"{Environment.GetEnvironmentVariable("OKTA_URL")}",
    AuthorizationServerId = Environment.GetEnvironmentVariable("OKTA_AUTH_SERVER_ID"),
    Audience = Environment.GetEnvironmentVariable("OKTA_AUDIENCE")
});

关键是我需要 OktaDomain、AuthorizationServiceId 和 Audience,这些在我使用的参考文献中没有被引用。希望这将在未来解决其他人的问题。

【讨论】:

    猜你喜欢
    • 2021-09-10
    • 2022-01-15
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 2020-04-21
    • 2022-11-08
    • 2021-08-04
    • 2020-07-30
    相关资源
    最近更新 更多