2009-12-20 9 views
2

, поэтому я пытаюсь сделать провайдер OpenID. Я пробовал использовать два пакета OpenID на основе Java - Atlassian's Crowd и WSO2 Identity Server. Теперь в моей реализации безопасность является обязательной, что означает использование SSL и наличие OpenIDs на основе HTTPS. Теперь для WSO2 и Crowd большое количество сайтов просто не работают с предоставленными OpenID. Из 20 протестированных сайтов 8 завершились неудачей с Crowd, а 10 - с WSO2. Этот высокий уровень отказов на самом деле не приемлем. Практически на каждом сайте, у которого есть проблема, утверждается, что они не могут найти конечную точку OpenID.Создание поставщика OpenID с SSL

Когда я использовал OpenID без SSL (так что на основе HTTP OpenID), сайты были намного более совместимыми, и только два из них не выполнялись. Я использую сертификат от AusCERT, поэтому проблема не должна быть вызвана самозаверяющими сертификатами.

Сначала я подумал, что это всего лишь вопрос о наличии большого количества RP, которые просто не принимали OpenIDs на основе HTTPS. Я попытался войти в те же сайты, на которых я не работал с OpenID с поддержкой HTTPS от Verisign, но это сработало. Подойдя ближе к WSO2 и Crowd, я обнаружил, что ни одна из них не полностью соответствует спецификации OpenID 2.0, в частности, ни одна из них не предоставляет ссылку в голову для документа XRDS для обнаружения yadis. Учитывая, что моя проблема заключается в том, что сайты не могут обнаружить конечную точку OpenID в URL-адресе, который я даю, представляется актуальным, за исключением того, что, когда я не использую SSL, обнаружение на основе HTML достаточно.

Есть ли у кого-нибудь представление о том, где моя проблема действительно лежит? Отсутствующий документ XRDS кажется, что он должен быть релевантным, но это может быть просто красная селедка. Убедившись в том, что если кто-то знает хорошую альтернативу Crowd или WSO2, которая хорошо документирована, хорошо подходит для спецификации и (относительно) проста в настройке, было бы неплохо узнать!

ответ

3

Одна вещь, на которую стоит обратить внимание, это то, что SSL-сертификаты некоторых поставщиков не подписаны корневыми полномочиями, которые считаются авторитетными некоторыми RP. Убедитесь, что вы получили свой сертификат от одного, которому доверено все RP.

Если .NET вариант для поставщика, проверить свободный и открытый источник DotNetOpenAuth библиотеку, которую вы можете разместить себя и используется некоторыми крупными ФОС, такими как MySpace и netidme.com и others. Реализация OpenID 2.0 завершена, она поддерживает профиль ICAM OpenID 2.0 правительства США и используется для многих тестов на совместимость, безопасность и соответствие требованиям и работает как с OpenID 1.1, так и с 2.0 RP, поэтому вы, вероятно, будете иметь хорошая совместимость со многими/всеми RP. У него есть группа additional security features, которую вы можете просто включить (например, требование HTTPS, как вы сказали, является обязательным требованием).

(Полное раскрытие: я написал DotNetOpenAuth.)

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

  • Нет связанных вопросов^_^