Lokesh Zende Ответов: 0

Как мне прочитать ответ SAML ?


Привет,
Я делаю POC в ASP.Net для ВПЛ инициировано SSO.
Я успешно вошел в систему с моими учетными данными AD на странице входа в ADFS.
Но на моей странице утверждения, как я могу получить ответ SAML и проверить пользователя?
Я могу видеть ответ с помощью инструмента разработчика, но как я могу получить его с помощью c#?

Что я уже пробовал:

Я попытался распечатать значения из параметра SAMLResponse querystring (я нашел это где-то после того, как погуглил. Так что не уверен, как это на самом деле работает).

ClaimsPrincipal claimsPrincipal = System.Threading.Thread.CurrentPrincipal as ClaimsPrincipal;

Response.Write("Is user Authenticated = " + claimsPrincipal.Identity.IsAuthenticated.ToString());
Я получаю это как: ложь

Response.Write("   Current Principal  = " + System.Threading.Thread.CurrentPrincipal.ToString());

Я получаю это как: система.Безопасность.Главный.GenericPrincipal


string rawSamlData = Request["SAMLResponse"];
Response.Write("Raw data \n");
Response.Write(rawSamlData);

rawSamlData = HttpUtility.UrlDecode(rawSamlData);
Response.Write("after url decode \n");
Response.Write(rawSamlData);

// read the base64 encoded bytes
byte[] samlData = Convert.FromBase64String(rawSamlData);
Response.Write("after base 64 \n");
Response.Write(samlData);

// read back into a UTF string
string samlAssertion = Encoding.UTF8.GetString(samlData);
Response.Write("saml assertion \n");
Response.Write(samlAssertion);


Все, что я получаю, - это какая-то зашифрованная строка. Как я могу декодировать его в ответ SAML и аутентифицировать пользователя?

0 Ответов