OpenID, как разработать провайдера - PullRequest
17 голосов
/ 02 февраля 2012

В настоящее время я разрабатываю некоторую инфраструктуру и внедрил свой собственный механизм аутентификации RESTful.

Теперь я имею в виду, что, возможно, я не должен идти по этому пути и использовать отраслевой стандарт, чтобы обеспечить совместимость сМой проект может быть тривиальным и его легче понять с точки зрения аутентификации и авторизации.

После проверки некоторых статей googling везде и чтения некоторых вопросов и ответов здесь, в Stackoverflow, я не могу найти, как это сделать.поставщик OpenID - Я не говорю о проверке подлинности пользователей с помощью Google, Windows Live, Facebook Connect и т. д. Я хочу разработать систему с поддержкой OpenID, поэтому, если некоторые захотят зарегистрироваться в моих службах, они будут делать это вмой собственный домен -.

На самом деле мой вопрос таков: может ли кто-нибудь стать поставщиком OpenID и является ли DotNetOpenAuth библиотекой для разработки этого протокола в вашей собственной инфраструктуре?

Спасибо.

Ответы [ 3 ]

17 голосов
/ 08 февраля 2012

Разработка провайдера OpenID как средства единого входа (SSO) в рамках кольца веб-сайтов организаций является очень приемлемым сценарием. DotNetOpenAuth поставляется с парой примеров веб-сайтов (поставщик и проверяющая сторона), которые демонстрируют отношения единого входа.Они называются OpenIdWebRingSsoProvider и OpenIdWebRingSsoRelyingParty.

Пожалуйста, , а не пытайтесь внедрить OpenID самостоятельно, так же как и SSL самостоятельно.Правильное получение безопасности и совместимости OpenID требует очень много времени и глубокого знания предметной области.В частности, DotNetOpenAuth дает вам программный доступ для выполнения практически всего, что вы хотите с OpenID, и, поскольку он бесплатный, трудно ошибиться.

Раскрытие информации: я являюсь разработчиком DotNetOpenAuth.

9 голосов
/ 02 февраля 2012

На самом деле мой вопрос таков: может ли кто-нибудь стать поставщиком OpenID и является ли DotNetOpenAuth библиотекой для разработки этого протокола в вашей собственной инфраструктуре?

  1. Как стать провайдером OpenID
  2. DotNetOpenAuth имеет некоторые ошибки, но в целом это хороший инструмент для использования в .NET

если вы думаете, что можете это сделать, вы можете выполнить следующее:

И, наконец, самое сложное - это реализация настраиваемой поддержки OpenID в вашем программном обеспечении и инструментах управления учетными записями. Хотя этот подход, конечно, обеспечивает максимальную степень контроля над пользовательским интерфейсом, он также является наиболее рискованным и предназначен только для разработчиков, имеющих опыт работы с веб-безопасностью. Начните с просмотра спецификаций и документации.


Но мой вопрос всегда будет:

Зачем еще один провайдер? Facebook , Google , MyOpenID , ... уже есть, а с ними много пользователей имеют (даже без их ведома) логин OpenID ...

StackExchange является провайдером OpenID некоторое время назад, но ... на платформе StackExchange так много пользователей. Вы разрабатываете такое большое сообщество , чтобы было разумно создать и внедрить собственного провайдера?

0 голосов
/ 08 марта 2019

Я вижу, что ответы пару лет. Если вы ищете новейшее решение для создания поставщика OpenID с использованием технологического стека Microsoft, IdentityServer - это опция с открытым исходным кодом. Можно использовать это и создать поставщика удостоверений Open ID connect.

Документация по использованию и сборке: https://identityserver4.readthedocs.io/en/latest/

IdentityServer4 - это платформа OpenID Connect и OAuth 2.0 для ASP.NET Core 2.

Включает следующие функции в ваших приложениях:

Аутентификация как услуга Централизованная логика входа и рабочий процесс для всех ваших приложений (веб, нативные, мобильные, сервисы). IdentityServer является официально сертифицированной реализацией OpenID Connect.

Единый вход / выход Единый вход (и выход) для нескольких типов приложений.

Контроль доступа для API Выпуск токенов доступа для API для различных типов клиентов, например, сервер-сервер, веб-приложения, SPA и нативные / мобильные приложения.

Шлюз Федерации Поддержка внешних поставщиков удостоверений, таких как Azure Active Directory, Google, Facebook и т. Д. Это защищает ваши приложения от сведений о том, как подключиться к этим внешним поставщикам.

Фокус на настройке Самая важная часть - многие аспекты IdentityServer могут быть настроены в соответствии с вашими потребностями. Поскольку IdentityServer - это фреймворк, а не продукт в штучной упаковке или SaaS, вы можете написать код, чтобы адаптировать систему в соответствии с вашими сценариями.

Зрелый с открытым исходным кодом IdentityServer использует разрешающую лицензию Apache 2, которая позволяет создавать коммерческие продукты на ее основе. Он также является частью .NET Foundation, который обеспечивает управление и юридическую поддержку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...