Submenu desarrolladores

Entity Pager Example

Introducción

El SDK para PHP permite agregar las funciones de autenticación de tuidd a su sitio de forma simple y rápida.

En esta página se detallan las características del módulo y una guía rápida de cómo instalarlo.

Instación y configuración

Pasos de instalación

La instalación se realiza mediante los siguientes pasos, para el detalle de cada uno
podes ver más abajo en las siguientes secciones.

  1. Créate una cuenta tuidd
    Como Proveedor de Servicio o Agente Mayorista y registra tu sitio o aplicación en el portal de gestión de tuidd .

  2. Descarga el SDK
    Podes bajar la ultima versiòn del sdk desde aquí

  3. Instalalo
    Descomprimir el archivo ZIP que contiene el SDK en el directorio raíz dentro de tu sitio. Te creará un directorio llamado tuidd

  4. Configura el SDK
    Deberás configurar el SDK siguiendo los pasos que se detallan en la sección Configuración de SDK

  5. Integrar el Botón a tu sitio
    Luego, deberás poner el boton de login siguiendo los pasos de Integración del botón de Login

Configuración del SDK

La configuración se realiza siguiendo estos pasos :

  1. Editar el archivo " tuidd.conf " que se encuentra dentro del directorio tuidd/conf del SDK

  2. Configurar los parámetros:

    client_id :
    Es el ID de la aplicación generado durante el registro tu sitio en el portal de administración tuidd. Lo puedes encontrar en ingresando al sitio de gestión en el menú Mis Aplicaciones .
    Ejemplo: 73958620d779-4fdc-bc09-7d521af91278

    client_secret :
    Es la clave que se asignó automáticamente a la aplicación durante el registro en el sitio de gestión de tuidd. La puedes encontrar en ingresando al sitio de gestión en el menú Mis Aplicaciones .
    Ejemplo: 45759620e745-4adb-b329-5d521af3433

    home_page_url:
    Es la URL donde pusiste el botón de login. Se usa para que el SDK redirija cuando el usuario no fue autenticado o se venció la sesión.
    Ejemplo: http://ejemplo.com

    home_login_url :
    Es la URL a la cual se va a redirigir al usuario al finalizar el proceso de autenticación.
    Ejemplo: http://ejemplo.com/admin

    default_language :
    Idioma en el cual se muestran los textos. Los valores posibles son: Inglés (en), Español (es), Portugués (pt) o Francés (fr).
    Ejemplo: es

Integración del botón de Login

Paso 1:

Para lograr que los usuarios accedan a los servicios de tuidd, deberás colocar el botón de Login de tuidd en tu página. Esto nos permite identificar al usuario y asegurarnos que desee recibir los servicios a través de nuestra plataforma.

Botón de tuidd

Para esto deberás incluir en el código fuente de la página de login, la librería de tuidd:

index.php

require_once('tuidd/tuidd_lib/tuidd.php');

// my code ...

?>

Nota : En caso de que hayas instalado el SDK en otro sitio, deberás cambiar el path ' tuidd/tuidd_lib/tuidd.php ' por el correspondiente.

Paso 2:

Por otro lado deberás incluir en tu página, donde quieres que se dibuje el botón de Login de tuidd, el DIV que lo contiene:

index.php


El SDK se encargará de automáticamente de pintar el botón cuando cargue tu página.

Si modificaste el id del div en el archivo de configuración, recuerda también utilizar ese en tu pagina, en lugar de tuidd-sdk en la etiqueta del div.

Paso 3:

Deberás copiar al comienzo de todas las páginas de tu sitio que requieran acceso con un usuario logueado, la siguiente línea de código:

include_once("tuidd/tuidd_lib/client/TuiddClient.php");

TuiddClient::getSingleton()->isLoggedIn();

?>

Este código hace que si el usuario no se autenticó o se venció la sesión, el sistema redirige automáticamente a la página configurada en el parámetro home_page_url en el archivo de configuración.

A continuación se muestra un esquema de cómo es la implementación:

Diagrama SDK

Obtención de los datos del usuario

Para obtener los datos del usuario que inició sesión, puedes hacerlo de 2 maneras:

1- Llamando a la función getUserInfo()

2- Implementando una función de callback (avanzado)

Entre los datos del usuario que recibirás, el más importante es el PCR. El mismo identifica unívocamente al usuario dentro de tu sitio.

El mismo se devuelve en el parámetro "sub" del objeto recibido.

Invocación de la función getUserInfo()

Esta función se utiliza para obtener los datos del usuario.

La puedes usar directamente desde tu página para acceder a la información del usuario, por ejemplo, al nombre y apellido, etc.

La información se retorna dentro de un objeto "user_info" .

Ejemplo:

include_once(' tuidd/tuidd_lib/client/TuiddClient.php ');

// get user information

$userInfo = TuiddClient::getSingleton()-> getUserInfo ();

// print user information...

echo '

Hello ';

echo $userInfo['user_info']['name']." ".$userInfo['user_info']['family_name'];

echo '

';

echo '

Your ID/:';

echo $userInfo['user_info']['sub'];

echo '

';

echo '

Your email is: ';

echo $userInfo['user_info']['email'];

echo '

';

?>

Para ver el resto campos disponibles, consultar la sección User Info de la API REST De Autenticación .

Implementación de la función de callback

Esta función es invocada por el SDK para procesar la información recibida del proceso de autenticación o de cualquier otro servicio.

Esta función deberás registrarla en el archivo de configuración avanzada " advanced_params.conf " que se encuentra dentro del directorio tuidd/includes del SDK, definiendo los siguientes parámetros:

- callback_function : Ejemplo: myCallbackFunction

Nombre de la función del proveedor que se ejecutará en el SDK y a la cual se le pasarán los datos del resultado de los servicios de tuidd. La función debe recibir por parámetro un objeto con los datos.

- callback_function_file : Ejemplo: 'myfuncs/myfunction.php'

Path del archivo que contiene la función de callback, definida en callback_function.

Ejemplo:

En este archivo se implementa una función de callback. La función puede estar en cualquier parte de tu código, es importante que indiques donde configurando el archivo de configuración para que el SDK pueda levantarla

myfunction.php


include_once(' tuidd/tuidd_lib/client/TuiddClient.php ');

function myCallbackFunction ( $notification )

{

// my callback code ...

switch $notification['service_type']

{

case 'authentication':

// get user information...

$userInfo= $notification['notification_data'];

// print user information...

echo '

Hello ';

echo $userInfo['user_info']['name']." ".$userInfo['user_info']['family_name'];

echo '

Your ID\:';

echo $userInfo['user_info']['sub'];

echo '

Your email is: ';

echo $userInfo['user_info']['email'];

break;

}

}

?>

Seguridad

El SDK viene con configuraciones de seguridad para Apache. Si utilizas este servidor WEB, no deberás realizar ninguna configuración adicional a la propia de tu sitio.

En caso de utilizar otro servidor Web, deberás configurar en el mismo, que NO se tenga acceso a los siguientes directorios del SDK:

tuidd/

+---conf/

+---docs/

+---includes/

+---lib/

+---language/

+---libs/

Configuración avanzada

La configuración se realiza siguiendo estos pasos :

1. Editar el archivo " advanced_params.conf " que se encuentra dentro del directorio tuidd/includes del SDK

2. Configurar los parámetros:

- callback_function : Ejemplo: myCallbackFuncion

Nombre de la función del proveedor que se ejecutará en el SDK y a la cual se le pasarán los datos del resultado de la autenticación. La función debe recibir por parámetro un objeto con los datos.

- callback_function_file : Ejemplo: 'myfuncs/myfunction.php'

Path absoluto del archivo que contiene la función de callback, definida en callback_function.

- scope : Ejemplo: openid profile

Lista de strings ASCII "case-sensitive" con valores del alcance del requerimiento de autenticación, del estándar OAuth 2.0. Según el estándar debe contener el al menos el valor "openid".

Otros valores posibles son: profile, email, address, phone, offline_access, tuidd_notification, tuidd_advertising, tuidd_survey, tuidd_payment, tuidd_coupon.

Por defecto, el SDK solicita todos al usuario.

Para obtener más información acerca de los valores de "scope" ver la sección Autenticación de la API REST De Autenticación .

- security_level : Ejemplo: 3 2

Son los valores del nivel de seguridad (LOAs) requeridos por la aplicación, en orden de preferencia, de acuerdo a la norma ISO/IEC 29115 Clause 6 – 1, 2, 3, 4 – representando los niveles LOW, MEDIUM, HIGH y VERY HIGH respectivamente. Tener en cuenta que tuidd actualmente sólo soporta los valores 2 y 3. El valor finalmente utilizado es devuelto en el campo "acr" en la autenticación.

El valor por defecto es "2".

Para obtener más información ver la sección Autenticación de la API REST De Autenticación.

- tuidd_sdk_path : Ejemplo: /my_plugins/tuidd/

Indica en qué directorio relativo a la raí¬z del sitio se ha instalado el SDK.

El valor por defecto es 'tuidd/', haciendo referencia a una ubicación en el root del sitio.

- redirect_uri : Ejemplo: http://dominio/dir/tuidd/index.php

URI absoluta a la que se redirige una vez autorizado el usuario.

Debe coincidir con la registra en el sitio de administración de tuidd, en el parámetro URL RETORNO de la creación de la aplicación.

- container_div : Ejemplo: tuidd-sdk

Id de div referente al wrapper del botón de tuidd. Por defecto, el valor es "tuidd-sdk".

Requerimientos

Para poder utilizar el SDK, necesitas que tu sitio utilice los siguientes módulos y versiones:

- PHP 5+

- JQuery 1.8+

Descargas

Versión

v2.0.0

Fecha

31/01/2020

Descripción

Complemento SDK para PHP

Compatibilidad

-

Descarga

Download SDK PHP

Histórico de cambios

v2.0.0

31/01/2020

  • Se modifican referencias a mcg por tuidd.
  • Se agrega API de servicios.
  • Se agrega Pagina para tests de servicios.
  • Se agrega endpoint de notificaciones.
  • Se agrega lib jquery propia, para no depender de fuentes externas.

v1.0.0

26/01/2018

  • Primera Versión

Release actual: 
v2.0.0