2009-09-07 9 views
12

Mam skrypt demonstracyjny, który pozwala mi autoryzować za pomocą mojej aplikacji i odsyłać mój token. Ale to jest mylące.Jak działa system OAuth na Twitterze?

Zawsze używałem nazwy użytkownika i hasła w moich funkcjach CURL lub simpleXML, aby autoryzować wywołanie API. Nie rozumiem, jak to się wiąże z oauth.

Rozumiem, że przechowuję token, ale co mam z nim zrobić, gdy go już mam? Nic, co znalazłem w Internecie, jest jasne i przyjmuje założenie, że jestem stephen jastrząb i już wiem 9/10 tego, o czym mówią.

Pomóż mi przejść od używania nazwy użytkownika i hasła w adresie http, do używania zamiast tego mojego tokenu Oauth.

Odpowiedz

18

Zawsze używałem nazwy użytkownika i hasła w moich funkcjach CURL lub simpleXML, aby autoryzować wywołanie API. Co, do cholery, dzieje się z tym oauth?

Nikt przy zdrowych zmysłach nie powinien ufać swojemu hasłu na Twitterze, aby aplikacja nie mogła uzyskać dostępu do Twittera w ich imieniu. OAuth pozwala obejść ten problem, pozwalając użytkownikowi na selektywne przyznawanie dostępu do aplikacji na konto Twitter bez znajomości hasła przez użytkownika. W ten sposób hasło pozostaje poświadczeniem udostępnianym tylko przez użytkownika i Twittera, a także przez niezaufaną osobę trzecią (ciebie).

Tak właśnie jest z tym gównem. Spróbuj powiedzieć to głośno, szybko, z brytyjskim akcentem. * scnr *

+1

@Konrad, dobra odpowiedź. Włóż czajnik. –

+0

To nie jest tak, że oauth jest lepszy. Każda aplikacja, która chce uzyskać twoje hasło, może teraz nakłonić większość normalnych użytkowników do dzielenia się nimi poprzez pokazanie fałszywego ekranu oauth. – Jacob

+0

@Jacob: niestety masz rację. Ale OAuth nie jest z zasady złamany (o ile wiem!). Jest niestety zepsute w praktyce, ponieważ użytkownicy zostali przeszkoleni, aby nie zwracać uwagi na ekrany OAuth i po prostu autoryzować wszystko. Twitter musi drastycznie zmienić swoją postawę wobec aplikacji firm trzecich, jeśli chcą przywrócić użyteczność OAuth. –

2

znalazłem this site bardzo pomocne, gdy starałem się pracować z OAuth po raz pierwszy.

+1

jakiekolwiek praktyczne przykłady? – mrpatg

0

Zapoznaj się z specs, aby dowiedzieć się, jak działa uwierzytelnianie za pomocą protokołu OAuth. Jeśli przeglądasz stronę, znajdziesz także przewodnik Getting Started, który ułatwi ci podróż.

14

Podstawową ideą OAuth jest umożliwienie działania w imieniu osoby bez znajomości hasła.

Załóżmy, że masz witrynę sieci społecznościowej (moim przykładem byłaby Plantworking, wtyczka bezwstydna). A chcesz używać strony trzeciej jako strony trzeciej do weryfikacji tworzenia nowych kont. Możesz też pozwolić użytkownikom w Twojej witrynie automatycznie publikować tweety z Twojej witryny.

Jako operator zakładu pracy przede wszystkim masz wspólny sekret na Twitterze: rejestrujesz się na ten klucz i przechowujesz go. Nie jestem pewien, ale domyślam się, że jest używany do podpisywania wszystkich twoich próśb.

  • Użytkownik przychodzi do Twojej witryny.
  • Pokazujesz im ładny link z napisem "Zarejestruj się przy użyciu konta na Twitterze".
  • Klikają na niego, aw tle wysyłają żądanie tokenu na Twitter
  • Otrzymujesz token żądania z powrotem.
  • Wysyłasz użytkownika na Twitter za pomocą tego tokenu żądania.
  • Twitter pokazuje im ładną stronę, z nazwą strony, która zgłasza żądanie i co Plantworking chce zrobić.
  • Klikają, że zgadzają się, więc Twitter oznacza, że ​​żądanie tokena zostało zaakceptowane.
  • Twitter kieruje ich z powrotem do Plantworking
  • Plantworking pobiera token żądania i wysyła żądanie do Twittera (z tokenem żądania) na "token dostępu". Jeśli zamiana powiodła się, Plantworking otrzymuje token dostępu i wie, że ten użytkownik jest uprawniony. Plantinging może następnie utworzyć konto na podstawie tych informacji. Lub, jeśli pozwolenie, o które prosiłeś, to wykorzystanie zasobów lub interakcja z witryną Twitter w imieniu użytkownika, możesz to zrobić.
Powiązane problemy