Este repositorio contiene un ejemplo completo y funcional de cómo usar Satellizer para iniciar sesión usando un servidor local OAuth 2.0 (RFC 6749: The OAuth 2.0 Authorization Framework) y diversos proveedores externos en tu sitio. Incluye el código del lado del servidor para enlazar con tus usuarios y un servidor OAuth 2.0 propio que soporta múltiples scopes
(RFC 6749: The OAuth 2.0 Authorization Framework, 3.3. Access Token Scope).
Los usuarios se encuentran en la tabla oauth_users
definida en database/schema.sql
. Puedes ampliarla a tu gusto pero no modifiques los campos existentes porque es usada internamente por la biblioteca oauth2-server-php para el grant_type
password
(RFC 6749: The OAuth 2.0 Authorization Framework, 1.3.3. Resource Owner Password Credentials). Las llamadas SQL se encuentran en authorization/model/user.php
que es una clase que extiende un pequeño ORM muy simple que está en authorization/common/model.php
.
Leé el instructivo hasta el final y sólo prueba cuando hayas terminado de configurar los proveedores que vas a utilizar para evitarte dolores de cabeza. Asegúrate de configurar correctamente todas las URL de redirección.
Yahoo no soporta localhost
y tampoco permite múltiples URLs de redireccionamiento con lo cual deberás crear dos aplicaciones, una para producción y otra para desarrollo usando la dirección 127.0.0.1
en lugar del nombre localhost
. Asegúrate de usar siempre el protocolo cifrado HTTPS.
- bower
- composer
PHP debe soportar la extensión PDO.
bower install
cd authorization/libraries
composer install
- Copia
authorization/common/config-template.php
aauthorization/common/config.php
y edita este último con los valores de configuración para cada proveedor y los datos de acceso a tú base de datos. - Ve a la dirección
http://localhost/authentificallizer/setup.php
para crear el esquema de tablas en la base de datos y configura la URL de redirección en cada proveedor.
- Agregar más proveedores.
- Permitir la instalación del lado del servidor con Composer.
- Hacer un módulo para AngularJS y permitir la instalación del lado del cliente con Bower o NPM.