DocID®Documentación de DocID®
Volver a DocID®
  • Resumen

    • Documentación de DocID®
  • Introducción

    • Introducción
    • Cómo funciona DocID®
    • Conceptos clave
  • Primeros pasos

    • Primeros pasos
    • Módulo de Drupal
    • Plugin de WordPress
    • Sitio web a medida
    • Checklist de puesta en producción
  • Funcionalidades

    • Funcionalidades
    • Standard Login
    • Acceso y personalización
    • Analytics
    • Campaigns
  • Licencias

    • Licencias
  • OAuth 2.0

    • OAuth 2.0
    • Configurar un cliente
    • Flujo Authorization Code
    • Scopes y UserInfo
    • Seguridad y entornos
  • API

    • API
  • Ayuda

    • Solución de problemas

Primeros pasos

Módulo de Drupal

Conecte Drupal con DocID®, aprovisione usuarios nativos, asigne atributos verificados a roles y proteja el contenido.

El módulo oficial DocID® conecta Drupal con una de las mayores redes en línea de profesionales sanitarios. Utiliza usuarios, roles, permisos, sesiones, nodos, medios y bloques nativos de Drupal para poner contenido profesional a disposición de una amplia audiencia mediante flujos habituales de Drupal.

Abrir el módulo DocID® en Drupal.org

Requisitos previos

  • Un sitio Drupal con HTTPS y permiso para instalar y configurar módulos
  • Una cuenta DocID® con un asset de sitio configurado y credenciales OAuth
  • Los módulos File, Filter, Node, Options y User de Drupal core; Media es opcional para medios protegidos

Instalar el módulo

Desde la interfaz de administración

Descargue el paquete actual desde el proyecto DocID® en Drupal.org. En la administración de Drupal, abra Ampliar → Añadir un módulo nuevo, cargue el archivo y complete la instalación.

Con Composer

Ejecute el siguiente comando desde la raíz del proyecto Drupal:

Activar el módulo

Active DocID® en Ampliar dentro de la administración de Drupal. También puede activarlo con Drush y reconstruir las cachés:

Configurar OAuth y los datos de clientes solicitados

  1. Abra Configuración → Personas → DocID® → Credenciales OAuth.
  2. Copie la URL de callback mostrada en los URI de redirección permitidos del asset correspondiente en el panel empresarial de DocID®.
  3. Introduzca el Client ID y el Client Secret del asset.
  4. En Datos de clientes solicitados, mantenga openid y professional y active únicamente los datos opcionales profile, email o phone que necesite el sitio.

Scopes disponibles

ScopeEstadoClaims
openidObligatoriosub
professionalObligatorioprofession_id, discipline_id, profession_verified
profileOpcionalname, title, given_name, family_name, gender
emailOpcionalemail
phoneOpcionalphone_number

Usuarios nativos y asignación de roles

Un acceso DocID® correcto aprovisiona o actualiza un usuario nativo de Drupal enlazado mediante el claim sub estable. Las cuentas no se enlazan por correo. Las asignaciones pueden dirigirse a todos los usuarios DocID® o a identificadores exactos de profesión, disciplina, institución o tema. Se combinan todos los roles no administrativos coincidentes; los roles asignados de forma independiente en Drupal permanecen intactos.

Proteger contenido y medios

Los editores pueden elegir Público, Solo usuarios DocID® o Solo roles seleccionados en los ajustes de acceso DocID® del contenido compatible. Las reglas por rol utilizan el acceso a nodos de Drupal. Los medios locales protegidos deben usar el sistema de archivos privado de Drupal para que su entrega siga pasando por la autorización de Drupal.

Destinos de acceso

Configure destinos internos de Drupal por profesión o disciplina en Destinos de acceso. Gana el número de prioridad más bajo. Una página protegida solicitada antes de la autenticación tiene prioridad sobre un destino basado en el perfil.

Etiquetas inteligentes disponibles

El módulo proporciona los bloques DocID® Account Navigation, inicio de sesión DocID® y cuenta DocID®. Para usar etiquetas inteligentes en contenido editorial, active el filtro DocID smart tags para el formato de texto de confianza correspondiente.

Autenticación y navegación

El enlace de acceso se adapta al estado: muestra iniciar sesión a los visitantes y cerrar sesión a los usuarios DocID® autenticados. Los atributos login_text y logout_text personalizan ambas etiquetas. El nombre de usuario usa el mejor valor disponible en este orden: título, nombre y apellidos; título y apellidos; correo autorizado; ID de usuario DocID® estable.

ShortcodeDescripción
[docid-loggedin-content]Content[/docid-loggedin-content]Muestra el contenido incluido únicamente a usuarios DocID® autenticados.
[docid-loggedout-content]Content[/docid-loggedout-content]Muestra el contenido incluido únicamente a visitantes sin una sesión DocID® autenticada.
[docid-login-link]Muestra Iniciar sesión a los visitantes y Cerrar sesión a los usuarios DocID® autenticados.
[docid-login-link login_text="Access" logout_text="Leave"]Utiliza etiquetas de texto personalizadas para ambos estados de autenticación.
[docid-username]Muestra el mejor nombre de usuario disponible: título, nombre y apellidos; después título y apellidos; después el correo electrónico autorizado; y, por último, el ID de usuario DocID® estable.

Datos de perfil

Etiqueta inteligenteScopeDescripción
[docid-profile-id]openid (obligatorio)El identificador estable y único de la cuenta DocID®.
[docid-profile-name]profile (opcional; se requiere autorización)El título, el nombre y los apellidos combinados.
[docid-profile-title]profile (opcional; se requiere autorización)El título o tratamiento.
[docid-profile-given-name]profile (opcional; se requiere autorización)El nombre.
[docid-profile-family-name]profile (opcional; se requiere autorización)Los apellidos.
[docid-profile-gender]

Acceder al estado de autenticación y los claims en PHP

En el código de la aplicación, cargue la identidad enlazada al usuario actual de Drupal mediante el servicio IdentityRepository. En producción, inyecte current_user y el repositorio en su clase en vez de usar el contenedor de servicios estático.

Probar antes del lanzamiento

  1. Abra contenido público y protegido sin iniciar sesión.
  2. Complete el acceso con una cuenta de prueba apta y compruebe el retorno al contenido solicitado originalmente.
  3. Continúe sin datos de perfil opcionales y confirme que la autenticación funciona con los scopes obligatorios.
  4. Pruebe cada asignación de rol y destino de acceso, incluida una cuenta que no coincida.
  5. Cierre sesión y confirme que el contenido protegido deja de estar accesible.

La integración proporciona funciones técnicas de autenticación y control de acceso. Los operadores del sitio siguen siendo responsables de elegir los scopes, permisos, avisos y bases jurídicas adecuados para su implementación.

AnteriorPrimeros pasosSiguientePlugin de WordPress

En esta página

  1. Requisitos previos
  2. Instalar el módulo
  3. Desde la interfaz de administración
  4. Con Composer
  5. Activar el módulo
  6. Configurar OAuth y los datos de clientes solicitados
  7. Scopes disponibles
  8. Usuarios nativos y asignación de roles
  9. Proteger contenido y medios
  10. Destinos de acceso
  11. Etiquetas inteligentes disponibles
  12. Autenticación y navegación
  13. Datos de perfil
  14. Acceder al estado de autenticación y los claims en PHP
  15. Probar antes del lanzamiento
®
profile (opcional; se requiere autorización)
El valor de género.
[docid-profile-email]email (opcional; se requiere autorización)La dirección de correo electrónico transferida, cuando esté disponible.
[docid-profile-phone-number]phone (opcional; se requiere autorización)El número de teléfono transferido, cuando esté disponible.
composer require drupal/docid
drush en docid -ydrush cr
Leer la identidad enlazada y los claims transferidos
use Drupal\docid\Identity\IdentityRepository; $current_user = \Drupal::currentUser();$identity = $current_user->isAuthenticated()  ? \Drupal::service(IdentityRepository::class)    ->findByUserId((int) $current_user->id())  : NULL; $is_docid_authenticated = $identity !== NULL;$docid_subject = $identity?->subject;$claims = $identity?->claims ?? []; $profession_id = is_string($claims['profession_id'] ?? NULL)  ? $claims['profession_id']  : NULL;$discipline_id = is_string($claims['discipline_id'] ?? NULL)  ? $claims['discipline_id']  : NULL;$institution_id = is_string($claims['institution_id'] ?? NULL)  ? $claims['institution_id']  : NULL;$subject_id = is_string($claims['subject_id'] ?? NULL)  ? $claims['subject_id']  : NULL;$profession_verified = ($claims['profession_verified'] ?? FALSE) === TRUE; // Optional claims exist only when their scope was authorized.$name = is_string($claims['name'] ?? NULL) ? $claims['name'] : NULL;$email = is_string($claims['email'] ?? NULL) ? $claims['email'] : NULL;$phone = is_string($claims['phone_number'] ?? NULL)  ? $claims['phone_number']  : NULL;