2015-11-11 3 views
0

Я пытаюсь реализовать SSO через OKTA. И я могу получить текст SAMLResponse поКак обрабатывать SAMLResponse от OKTA?

string rawSamlData = Request["SAMLResponse"]; 

Преобразовать строку в формате XML с помощью

 if (rawSamlData.Contains("%")) 
     { 
      rawSamlData = HttpUtility.UrlDecode(rawSamlData); 
     } 
     byte[] samlData = Convert.FromBase64String(rawSamlData); 
     string samlAssertion = Encoding.UTF8.GetString(samlData); 

Информация о пользователе включена в строке SamlAssertion, такие как X509Certificate, FirstName, LastName, электронная почта и т. д. Вопрос в том, как проверить, подтверждается ли это или нет?

ответ

0

Любые причины не использовать WS-Federation для SSO в .NET? Выезд https://msdn.microsoft.com/en-us/library/hh291061(v=vs.110).aspx. Чтобы использовать Okta для Step 2, вы можете create a Template WS-Fed app in Okta и использовать предоставленный web.config, который предоставляется на вкладке «Вход».

Если SAML абсолютно необходим, есть некоторые рамки, которые вы можете использовать, например, http://www.componentpro.com/saml.net/. Также проверьте http://www.twobotechnologies.com/blog/2014/01/sp-init-with-wif.html для SP init SAML и http://travisspencer.com/blog/2010/09/idp-initiated-sso-using-wif.html для IdP init SAML.

+0

Спасибо за ваш ответ. Я получил SAMLResponse от окты через форму. Мне нужно проверить, проверен ли запрос или нет. Если запрос проверен, я пропущу страницу входа и автоматически войду в систему. Как я могу убедиться, что запрос подтвержден? Другими словами, как использовать сертификат и токен? –

1

Не разбирайте данные SAML самостоятельно, если вы не хотите вкладывать много времени в получение права на безопасность.

Kentor.AuthServices - это реализация .NET SP с открытым исходным кодом, совместимая с Okta. Для этого есть даже конкретный documentation.

0

Вместо интеграции с okta и обработки ответа SAML на себя, вы можете использовать модуль apache под названием mod_auth_mellon. Простые шаги к install it in ubuntu

Смежные вопросы