Hé Hoang,
La biblioteca de OAuth no es muy explica por sí mismo. Así es como yo tengo trabajo:
Fundamentos
- Lea la oAuth 2.0 draft 23 lo suficiente como para tener una idea básica de OAuth, las funciones y flujos.
- continuación, siga las instrucciones para instalar el controlador y las bibliotecas de alexbilbie en su CodeIgniter instalación
- instalar las tablas y agregar una aplicación y algunos papeles (pensar fuera una aplicación de Facebook y el papel que puede solicitar los permisos para)
- Asegúrese de que usted hizo su función validate_user en el archivo oAuth_server.php, en algún lugar en la parte inferior
Haz una solicitud
Ahora se quiere realizar una Aut Solicitud de horización como cliente. Estos sencillos pasos están documentados en this section.
Editar: La biblioteca de autorizaciones de Philurtgeon oAuth 2.0 podría usarse para automatizar esto. Descrito aquí es la forma manual.
Para la biblioteca, esto significa que va a:
/index.php/oauth?client_id=IN_YOUR_APPLICATION & redirect_uri = IN_YOUR_APPLICATION & response_type = código & alcance = YOUR_ROLE
Complete los variabels con los datos has puesto en la base de datos.
depuración parte de él podría dar ..
Si todo va bien, DIT lo siguiente del error:?
ingresar -> Dar autorización a la aplicación -> Nos vemos página redirect_uri con código = XXXXXXX
Querrá ese código XXXXXXX
Luego en el redirect_uri haga una publicación en/index.php/oauth/señal_acceso
Con estos variabels (que todas ahora sabemos)
- client_id (en tabla de aplicación)
- client_secret (en tabla de aplicación)
- redirect_uri (en tabla de aplicación: donde desea ir a guardar el access_token)
- código (XXXXXX)
- grant_type (debe ser 'authorization_code') ¡Usted sabe esto después de leer esa sección!
Esa publicación devuelve una cadena JSON que contiene el access_token (o un error). ¡SÍ!
¿Qué sigue
Guardar la señal_acceso en ti aplicación real y lo utilizan en las solicitudes. En su servidor de recursos (probablemente una API y el mismo proyecto CodeIgniter que el servidor de autorización que acabo de explicar), necesita validar el access_token antes de devolver los resultados.
Esto funciona así:
$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
}
espero que esto le pone en servicio!
PD: Sin embargo, necesita construir algunas áreas de administración para administrar aplicaciones, sesiones y roles.
Eric
Estoy intentando descargar el servidor OAuth-2.0 de la URL anterior, pero me aparece 404 no encontrado, ¿me pueden ayudar a instalarlo en mi aplicación CodeIgniter? –