如何将用户名/电子邮件提供给身份提供商,以便在IdP的用户名框中预先填写?

时间:2019-02-24 21:38:31

标签: itfoxtec-identity-saml2

我正在使用itfoxtec-identity-saml2库与OneLogin SSO集成,那么如何将用户名/电子邮件发送给身份提供商,以便在IdP的用户名框中预先填写? 我知道我们可以使用从SP发送到Idp的AuthnRequest消息中的可选Subject / NameID字段,以从Idp请求特定主题。你们使用ITfoxtec SAML 2.0 MVC做到了吗?

1 个答案:

答案 0 :(得分:1)

当前的ITfoxtec Identity SAML 2.0版本不支持具有NameID的Authn Request Subject元素。

版本3.1.0-beta1 https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/releases/tag/3.1.0-beta1支持具有NameID的主题。该Beta版本还增加了对Azure Key Vault的支持。

请让我知道Beta版本是否适合您。

将所选的NameID添加到Saml2AuthnRequest上的Subject:

[Route("Login")]
public IActionResult Login(string returnUrl = null)
{
    var binding = new Saml2RedirectBinding();
    binding.SetRelayStateQuery(new Dictionary<string, string> { { relayStateReturnUrl, returnUrl ?? Url.Content("~/") } });

    return binding.Bind(new Saml2AuthnRequest(config)
    {
        Subject = new Subject { NameID = new NameID { ID = "abcd" } },
    }).ToActionResult();
}