Как я могу предоставить имя пользователя / адрес электронной почты провайдеру идентификации для предварительного заполнения в поле имени пользователя IdP?
Я использую библиотеку itfoxtec-identity-saml2 для интеграции с OneLogin SSO, поэтому как я могу отправить имя пользователя / адрес электронной почты поставщику удостоверений для предварительного заполнения в поле имени пользователя IdP? Я знаю, что мы можем использовать необязательное поле Subject/NameID в сообщении AuthnRequest, отправляемом из SP в Idp, чтобы запросить конкретную тему у Idp. Ребята, вы сделали это с помощью ITfoxtec SAML 2.0 MVC?
1 ответ
В настоящее время версия ITfoxtec Identity SAML 2.0 не поддерживает элемент Authn Request Subject с NameID.
Тема с NameID поддерживается из версии 3.1.0-бета1 https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/releases/tag/3.1.0-beta1. В этой бета-версии также добавлена поддержка хранилища ключей Azure.
Пожалуйста, дайте мне знать, если бета-версия работает для вас.
Выбранный NameID добавляется к субъекту в Saml2AuthnRequest:
[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();
}