Сценарий доступа к API в стиле Facebook с помощью Azure ACS и OAuth 2.0: как реализовать авторизацию приложений? - PullRequest
1 голос
/ 30 сентября 2011

Я создаю социальный веб-сайт, который предоставит REST API (WCF WebAPI) всему миру, чтобы любой разработчик мог создать клиентское приложение для веб-сайта, интегрировать его с другими службами и т. Д.Я хотел бы реализовать механизм контроля доступа в стиле Facebook / Twitter для API.Чтобы разработчики регистрировали свои приложения в разделе для разработчиков на сайте, создавали ключ и использовали этот ключ приложения в рабочем процессе OAuth для получения доступа к API.

Поскольку я использую Azure в этом проекте, я рассматриваю возможность использования Azure ACS для упрощения процессов OAuth.Однако я не могу найти какой-либо пример кода или руководство для авторизации приложения с ACS.

Может ли кто-нибудь поделиться таким примером или хотя бы дать мне направление для моих собственных исследований?Если бы я смог добиться поведения в Facebook / Twitter с помощью другой библиотеки OAuth (например, DotNetOpenAuth), это тоже было бы здорово.

Заранее спасибо.

1 Ответ

1 голос
/ 01 октября 2011

ACS - хороший выбор для такого рода вещей.Ваш сценарий в значительной степени OAuth Delegation, который поддерживает ACS.

Вы должны изучить ACS с примером OAuth 2 Delegation в:

https://connect.microsoft.com/site1168/Downloads (Это называется Wif Oauth CTP version)

Обратите внимание, что в этом примере пользовательская аутентификация используется для аутентификации пользователя.Поскольку ACS обеспечивает единый вход с Idps, вы можете вместо этого использовать ACS здесь (например, с Facebook).

Если вы идете по этому пути, вы можете найти более подробную информацию о том, как использовать пользовательскую страницу обнаружения домашней области, на страницеСледующий пример:

http://msdn.microsoft.com/en-us/library/hh127794.aspx

Наконец, вам потребуется веб-страница, где ваши клиентские приложения будут управлять своими настройками.Для этого вам потребуется использовать службу управления ACS.Подробную информацию об использовании службы управления ACS вы можете найти в:

http://msdn.microsoft.com/en-us/library/gg185970.aspx

...