首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >itfoxtec-identity-saml2 SAML请求目的端口被剥离

itfoxtec-identity-saml2 SAML请求目的端口被剥离
EN

Stack Overflow用户
提问于 2021-11-02 09:14:06
回答 1查看 26关注 0票数 1

在发出SAML请求时,端口号(443)将从目标中剥离。我知道这是URI对象的默认行为。但是,SAML身份提供程序要求目的地包含端口号以进行验证。

怎样才能让SAML builder包含这个端口呢? 443是从https://sit-api.eat.xxxxxx.xxxx.xx:443/samlsso中去掉的(如下所示)

代码语言:javascript
复制
            Saml2Configuration samlconfig = GetSAMLConfig();

            var samlRequest = new Saml2AuthnRequest(samlconfig);
            samlRequest.AssertionConsumerServiceUrl = new Uri(_appConfiguration["Saml2:AssertionConsumerServiceUrl"]); 

            samlRequest.Destination = new Uri(_appConfiguration["Saml2:SingleSignOnDestination"]); // https://sit-api.eat.xxxxxx.xxxx.xx:443/samlsso

            samlRequest.NameIdPolicy = new NameIdPolicy()
            {
                AllowCreate = false,
                Format = "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent",
                SPNameQualifier = _appConfiguration["Saml2:SPNameQualifier"]
            };

            samlRequest.Conditions = new Condition();
            samlRequest.Conditions.Items = new List<ITfoxtec.Identity.Saml2.Schemas.Conditions.ICondition>();
            samlRequest.Conditions.Items.Add(new ITfoxtec.Identity.Saml2.Schemas.Conditions.AudienceRestriction() { Audiences = new List<Audience>() { new Audience() { Uri = _appConfiguration["Saml2:AllowedAudienceUris"] } } });

            var bnd = binding.Bind(samlRequest);
EN

回答 1

Stack Overflow用户

发布于 2021-11-04 12:03:03

如果您使用的是Saml2RedirectBinding,则可以在调用ToActionResult方法后更改目标URL。从而覆盖默认行为。

如下所示:

代码语言:javascript
复制
var action = binding.ToActionResult() as RedirectResult;
action.Url = action.Url.Replace("https://sit-api.eat.xxxxxx.xxxx.xx/samlsso", "https://sit-api.eat.xxxxxx.xxxx.xx:443/samlsso");
return action;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69807894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档