Я не уверен, что вы ищете OAuth.
OAuth - для делегирования авторизации с использованием токенов. В зависимости от того, что вы делаете, у вас есть два сценария:
- Ваше приложение хочет использовать данные некоторых пользователей, размещенные у провайдера (например, в твиттере или в Google). В этом случае ваше приложение будет потребителем - короче говоря, пользователь должен будет войти в систему и согласиться разрешить вашему приложению доступ к его данным на провайдере, и вам будет выдан токен доступа, который можно использовать. получить доступ к этим защищенным ресурсам.
- В качестве альтернативы у вас есть приложение с пользователями, у которых есть входы в систему и т. Д. И вы хотите предоставить (то есть, вы являетесь поставщиком) доступ к некоторой ограниченной информации ваших пользователей для сторонних приложений (потребителей), не подвергая ваш учетные данные пользователей этих служб.
Для получения дополнительной информации об OAuth - посетите веб-сайт OAuth.Net . В настоящее время для .Net доступны 3 реализации OAuth.
Из-за того, как работает OAuth, я не могу себе представить, как у вас может быть поставщик членства «OAuth» - он действительно предназначен для защиты API, и часто цель состоит в том, чтобы делегировать авторизацию на более детальном уровне, т.е. потребительские приложения получают доступ только к данным адресной книги пользователей, не предоставляя им доступ к архивам электронной почты, их календарю и т. д., что не вписывается в модель безопасности на основе членства / роли.
Полагаю, что вы действительно ищете, так это OpenId, то есть способ аутентификации в самом Stackoverflow. Я бы посоветовал прочитать пример Stackoverflow OpenId здесь и, вероятно, лучшую реализацию OpenId для .Net в настоящее время является частью проекта DotNetOpenAuth (формально он назывался DotNetOpenId, сайт кода Google для проект здесь ).