Hé Hoang,
La biblioteca oAuth non è davvero evidente. Questo è quanto ho capito di lavoro:
Basics
- Leggi l'oAuth 2.0 draft 23 quel tanto che basta per avere un'idea di base di OAuth, ruoli e flussi.
- quindi seguire le istruzioni per l'installazione del controller e le librerie dal alexbilbie in CodeIgniter installazione
- installare le tabelle e aggiungere un'applicazione e alcuni ruoli (pensare fuori un app Facebook e ruoli è possibile richiedere autorizzazioni per)
- Assicurati di fatto la funzione validate_user nel file oAuth_server.php, in fondo da qualche parte
fare una richiesta
Ora si desidera eseguire un Aut richiesta di orazione come cliente Questi pochi semplici passaggi sono documentati in this section.
Modifica: la libreria di autorizzazione oAuth 2.0 di Philsturgeon potrebbe essere utilizzata per automatizzarla. Descritto qui è il modo manuale.
per la biblioteca, questo significa andare a:
/index.php/oauth?client_id=IN_YOUR_APPLICATION & redirect_uri = IN_YOUR_APPLICATION & response_type = codice & scope = YOUR_ROLE
Riempire i variabels con i dati hai messo nel database.
Debug alcuni di essi potrebbe dare ..
Se tutto va bene si dit il seguente della errore:?
Login -> autorizzare l'applicazione -> Ci vediamo pagina redirect_uri con il codice di = XXXXXXX
Si desidera che il codice XXXXXXX
Quindi sul redirect_uri creare un post su/index.php/OAuth/access_token
Con queste variabels (li tutti oggi conosciamo)
- client_id (in tabella di applicazione)
- client_secret (in tabella di applicazione)
- redirect_uri (in tabella di applicazione: dove vuoi andare a salvare il token di accesso)
- codice (il XXXXXX)
- grant_type (deve essere 'codice_autorizzazione') Lo sai dopo aver letto quella sezione!
Quel post restituisce una stringa JSON contenente il token di accesso (o un errore). SI!
Quali sono le prospettive
Salvare l'access_token in voi effettiva applicazione e utilizzarlo nelle richieste. Sul tuo server delle risorse (probabilmente un'API e lo stesso progetto CodeIgniter del server di autorizzazione appena spiegato) devi convalidare access_token prima di restituire i risultati.
questo funziona in questo modo:
$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
}
Spero che questo si alza e funzionante!
PS: È necessario creare un'area di amministrazione per gestire applicazioni, sessioni e ruoli.
Eric
Sto provando a scaricare il server OAuth-2.0 dall'URL sopra, ma sto ottenendo 404 non trovato, puoi aiutarmi ad installarlo nella mia applicazione CodeIgniter? –