Url.Content 在 .net core 3.1 & 下使用时不起作用

问题描述

我正在尝试按照以下文章进行 SAML 实施,我对 .net 核心和 SAML 非常陌生 https://developer.okta.com/blog/2020/10/23/how-to-authenticate-with-saml-in-aspnet-core-and-csharp

代码添加到 AuthController.cs 时,我收到 Login 方法错误。在下面的代码 Url.Content 给出错误“当前上下文中不存在名称 url”。还包“使用 Okta_SAML_Example.Identity;”是给有关组件,它不存在错误

变种结合=新Saml2RedirectBinding(); binding.SetRelayStateQuery(new Dictionary { { relayStateReturnUrl,returnUrl ?? Url.Content("~/") } });

想要设置上下文:我的 idp 将是内部组织的 idp [它将由组织中的不同团队配置,现在他们希望我提供我想要的属性作为回应] 所以它在代码中的确切位置将被引用因为我在代码和 xml 示例中也没有看到 IDP 参考 url。请帮我作为最早需要指导。

解决方法

我怀疑您为什么会看到错误,这不是我遇到的错误。 您可以尝试下载 ITfoxtec.Identity SAML 2.0 code 并运行测试文件夹中的 TestIdPCoreTestWebAppCore 示例。

图书馆documentation

IdP 可以在 appsettings.json 文件中配置,这里是 TestWebAppCore sample 中的一个示例。最简单的方法是配置 IdP metadata,无需进一步配置即可建立信任。