Библиотека C# OAuth для Google, Yahoo! Твиттер

Я ищу библиотеку, которая позволит мне использовать OAuth в моих приложениях ASP.NET/C#, чтобы я мог аутентифицировать пользователей с помощью одного из следующих поставщиков OAuth.

  1. Google

  2. Яху!

  3. Твиттер

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

Поэтому, по сути, я ищу простую в использовании библиотеку, которая работает против вышеупомянутых поставщиков (по крайней мере).


person Jackie Kirby    schedule 07.12.2010    source источник
comment
Просто примечание: OAuth не для аутентификации, а для авторизации. Тонкое, но важное отличие. OAuth не сообщает вам, нужен ли вам этот человек, только если ему разрешено отправлять/публиковать/доступ к соответствующему сайту.   -  person Andrew Lewis    schedule 08.12.2010
comment
См. список доступных библиотек для oAuth 2.0: библиотеки">stackoverflow.com/questions/3997172/   -  person David d C e Freitas    schedule 06.12.2011


Ответы (4)


Джеки, у меня есть запись в блоге об этой библиотеке OAuth C#.

Существует библиотека (включая исходный код) и простой пример проекта, который вы можете загрузить, чтобы начать работу с ним.

Я протестировал его против 1. Google 2. Twitter 3. Yahoo 4. Vimeo

Вы не указываете версию OAuth, которую хотите поддерживать, поэтому вы должны знать, что библиотека поддерживает только версию A OAuth 1.0, а не OAuth 2.0. Сегодня большинство сайтов поддерживают версию OAuth 1.0 a.

Я намеренно сделал пример проекта очень простым, чтобы тем, кто начинает этот путь, не приходилось мучиться, пытаясь понять, как использовать библиотеку. Библиотека не «перепроектирована», как я полагаю, что некоторые библиотеки существуют, поэтому ее довольно просто улучшить, если это необходимо. Но я предлагаю вам попробовать это только после того, как вы ознакомитесь с протоколом OAuth.

На самом деле проект представляет собой проект с открытым исходным кодом, размещенный в коде Google (ссылка в сообщении блога).

Примечание. В связи с тем, что Yahoo! реализовал свой сервис, невозможно (или не просто) протестировать их сервис с вашей машины для разработки.

Надеюсь, это поможет.

person Shiv Kumar    schedule 07.12.2010
comment
Вау! сообщение в блоге превосходно, а библиотека и пример приложения, которые вы предоставили, просто работают! Я взглянул на образец проекта и менее чем за 2 минуты точно увидел, что происходит и что мне нужно сделать в моем приложении, чтобы использовать OAuth с вашей библиотекой. Проведя дни, пытаясь заставить что-то работать и что-то простое, чтобы понять, я наконец нашел именно то, что искал. Отличный материал и Спасибо! - person Jackie Kirby; 08.12.2010
comment
Привет Шив, спасибо за хорошие коды. Я пытаюсь использовать его, но при вызове MakeRequest выдает errorors parameter_absent oauth_parameters_absent:oauth_consumer_key&oauth_signature_method&oauth_signature&oauth_timestamp&oauth_nonce, можете ли вы помочь мне заставить его работать. - person Parminder; 27.12.2010
comment
Обратите внимание, что приведенный выше URL-адрес не работает для меня. Кажется, изменилось на это... matlus.com/oauth-c-library - person nedlud; 11.04.2012
comment
@ShivKumar Изображения по этому URL-адресу повреждены - не хотите их исправить? - person Robin Winslow; 22.08.2012

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

Twitter Библиотеки на разных языках.

клиентские библиотеки данных Google написаны для поддержки клиентскими приложениями доступа к API. . Библиотеки написаны на разных языках.

person Fionaa Miller    schedule 04.01.2012

Если вам нужен только Twitter, я бы посоветовал использовать twitterizer. Это отличная библиотека с довольно хорошим сообществом и поддержкой.

person CrowderSoup    schedule 07.12.2010
comment
Я сказал, что мне нужно по крайней мере 3, которые я упомянул. - person Jackie Kirby; 07.12.2010

http://byatool.com/c/connect-your-web-app-to-twitter-using-hammock-csharp/ (архив Wayback ссылка.)

http://hammock.codeplex.com/ (Перемещено на github здесь: https://github.com/danielcrena/vault/tree/master/hammock)

эти ссылки могут быть полезными.

person adt    schedule 07.12.2010
comment
Эта библиотека делает слишком много других вещей, которые меня не интересуют. - person Jackie Kirby; 08.12.2010