2013-10-07 2 views
2

Я читал много о OpenID и OAuth, но у меня возникли проблемы с созданием нескольких соединений о том, как они будут работать в сервисной архитектуре.Рекомендации по OpenID/OAuth в ASP.NET Web API RESTful Services

Вот мой сценарий:

  • Я пишу новые услуги Web API ASP.NET (RESTful/JSON)
  • Эти услуги будут использоваться клиентскими приложениями (текущий веб-сайт на рабочем столе, новый мобильный сайт, и, возможно, PHP сайт или JavaScript-единственный клиент в будущем)
  • Нашего настольного сайта в настоящее время использует ASP.NET поставщик членства (WebForms)

Новый набор сервисов API, которые мы создаем, должен обрабатывать все, включая аутентификацию и авторизацию.

Мои вопросы:

  • Поскольку мы имеем явный контроль над клиентскими приложениями доступ к нашим API (т.е. это не публичный API, а один для интеграции утвержденных партнеров) мы обязательно OAuth?
  • Будет ли OpenID заменять нашу функциональность .NET Membership или дополнять ее?
  • Учитывая, что нам нужно будет аутентифицировать пользователей с помощью устаревшей системы с помощью поставщика членства, нужно ли использовать какой-либо .NET-член OpenID Provider .NET, или мы просто аутентифицируем, как обычно, и предоставляем пользователю токен членства, как мы сейчас делать?

Я думаю, в итоге:

  • Я пишу некоторые новые услуги
  • Они должны быть доступны ЛЮБЫМ утвержденным клиентским приложением для пользователей этого клиентского приложения
  • Мы должны продолжать поддерживать наши данные о членстве в .NET

Извините, что это основные вопросы, но я уверен, что на них легко ответить. Спасибо!

ответ

5

Посмотрите на Сервере идентификации ThinkTecture в

https://github.com/thinktecture/Thinktecture.IdentityServer.v2

Он использует хранилища шаблонов для пользовательских магазинов, и использует поставщик членства по умолчанию в качестве хранилища пользователя - вы сможете легко плагин поставщика членства унаследованного ,

OpenID connect будет работать на вершине вашего провайдера членства, и вы включили бы возможность разрешать только зарегистрированным доверенным лицам - это означает, что только ваши одобренные клиенты (приложения) будут иметь доступ.

Это похоже на идеальную подгонку - надеюсь, что это поможет.

Мэтт

+0

Thanks Matt. Я посмотрю! Большое спасибо за предложение. – trnelson

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