2012-06-06 17 views
11

https://github.com/alexbilbie/CodeIgniter-OAuth-2.0-ServerIntegracja OAuth 2.0 z CodeIgniter

Znalazłem to na GitHub jednak kroki w celu wykonania tak naprawdę nie pomaga z instalacją kod OAuth do CodeIgniter i nie znalazłem żadnych naprawdę dobrych artykułów na temat jak to zrobić

Czy ktoś już zrobił to, co może mi pomóc w konfiguracji tego?

+0

Próbuję pobrać serwer OAuth-2.0 z powyższego adresu URL, ale dostaję 404 nie znaleziono, czy możesz mi pomóc zainstalować go w mojej aplikacji CodeIgniter? –

Odpowiedz

32

Hé Hoang,

Biblioteka OAuth nie jest bardzo wymowne. To jak mam to działa:

Podstawy

  1. Przeczytaj oAuth 2.0 draft 23 wystarczy, aby uzyskać podstawową ideę OAuth, ról i przepływów.
  2. Następnie postępuj zgodnie z instrukcjami dotyczącymi instalacji sterownika i bibliotek z alexbilbie w swojej CodeIgniter zainstalować
  3. zainstalować tabele i dodać aplikację i kilka ról (myślę off Facebooku aplikację i ról można zażądać uprawnienia)
  4. Upewnij się, że wykonana czynność validate_user w pliku oAuth_server.php, na dole gdzieś

Czy wniosek

teraz chcesz wykonać Aut horization Zażądaj jako klienta. Te kilka prostych kroków jest udokumentowane w this section.

Edycja: Biblioteka autoryzacji oAuth 2.0 Philsturgeon może być używana do automatyzacji tego. Opisano tutaj sposób ręczny.

dla biblioteki, oznacza zamiar:

/index.php/oauth?client_id=IN_YOUR_APPLICATION & redirect_uri = IN_YOUR_APPLICATION & response_type = kod & zakres = YOUR_ROLE

Wypełnij variabels z danymi masz putten w bazie danych.

Debug niektórych może dać ..

Jeśli wszystko pójdzie dobrze dit następujące Błąd w:

zaloguj się -> Autoryzacja aplikacji -> Do zobaczenia redirect_uri stronę z kodem = XXXXXXX

?

Będziesz potrzebował tego kodu XXXXXXX:

Następnie na redirect_uri zrób post do/index.php/OAuth/access_token

Tymi variabels (trzeba je teraz wszyscy wiemy)

  • client_id (w tabeli aplikacji)
  • client_secret (w tabeli aplikacji)
  • redirect_uri (w tabeli aplikacji: gdzie chcesz przejść, aby zapisać kod dostępu)
  • kod (XXXXXX)
  • grant_type (musi być "kod autoryzacji") Wiesz o tym po przeczytaniu tej sekcji!

Ten wpis zwraca ciąg JSON zawierający parametr access_token (lub błąd). TAK!

co dalej

zapisać access_token w ciebie aktualnej aplikacji i używać go w żądaniach. Na twoim serwerze zasobów (prawdopodobnie API i tym samym projekcie CodeIgniter, jak wyjaśniłem właśnie serwer autoryzacji), musisz sprawdzić poprawność parametru access_token przed zwróceniem wyników.

Działa to tak:

$this->load->library('oauth_resource_server'); 
if (!$this->oauth_resource_server->has_scope(array('account.basic'))) 
{ 
    // Error logic here - "access token does not have correct permission" 
    show_error('An access token is required to request this resource.'); 
} 
else 
{ 
    //GO RETURN RESULTS 
} 

Nadzieja to dostaje gotowy do pracy!

PS: Musisz zbudować jakiś obszar administracyjny, aby samodzielnie zarządzać aplikacjami, sesjami i rolami.

Eric

+0

Wielkie dzięki. Potrzebujesz więcej upvotes dla tego! :) –

+0

Wielkie dzięki Eric, Jedno, czego nie rozumiem, to prośba uri. Przeczytałem tę sekcję w projekcie i wyjaśnia ona, że ​​uri musi być bezwzględnym adresem URL od klienta, ale jeśli tworzę aplikację na Androida/iPhone'a, to jaka powinna być ta wartość, ponieważ moja aplikacja nie jest witryną internetową serwer? Twoja pomoc byłaby bardzo doceniana – skashi

+0

gdzie mogę znaleźć zintegrowany serwer OAouth2 z CodeIgniter, ponieważ wspomniany adres URL jest niedostępny, możesz mi pomóc znaleźć działający przykład –

3

użyłem innej biblioteki zapłonową, że jest naprawdę dobry w użyciu CodeIgniter. tutaj jest dobry samouczek, jak zainstalować to za pomocą iskry i używać go. Oauth tutorial for codeigniter

+0

Świetny pomysł na użycie iskier Oauth/2, ale ty będzie potrzebował przyzwoitego zrozumienia PHP, aby zacząć pracę z tego samouczka. Ma kilka literówek, a także funkcje referencyjne, których nie oferują. – EpicVoyage

Powiązane problemy