Как я могу предоставить имя пользователя / адрес электронной почты провайдеру идентификации для предварительного заполнения в поле имени пользователя 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();
}
Другие вопросы по тегам