Hé Hoang,
Biblioteka OAuth nie jest bardzo wymowne. To jak mam to działa:
Podstawy
- Przeczytaj oAuth 2.0 draft 23 wystarczy, aby uzyskać podstawową ideę OAuth, ról i przepływów.
- Następnie postępuj zgodnie z instrukcjami dotyczącymi instalacji sterownika i bibliotek z alexbilbie w swojej CodeIgniter zainstalować
- zainstalować tabele i dodać aplikację i kilka ról (myślę off Facebooku aplikację i ról można zażądać uprawnienia)
- 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
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? –