Developer · OAuth 2.0
Iniciar sesión con Dentra
OAuth 2.0 y OpenID Connect: las clínicas entran en tu app con el botón «Iniciar sesión con Dentra», sin otra contraseña. Sabes quiénes son y, si lo permiten, los datos de su clínica.
Cómo funciona
«Iniciar sesión con Dentra» sigue los estándares OAuth 2.0 y OpenID Connect: tu app abre una página de Dentra, la clínica entra y acepta en una pantalla de consentimiento, y tu app recibe las claves para saber quién es y leer lo que se le ha concedido.
Funciona para apps de escritorio, que no pueden guardar un secreto, y para sitios con servidor. La cuenta de Dentra es la de la clínica: una cuenta, una clínica.
Hasta que la aprobemos, tu app está en modo de prueba: solo se abre con tu propia cuenta de Dentra y recibe los datos de una clínica de ejemplo. Aprobada, se abre a todas las clínicas.
Registrar la app
- Necesitas una cuenta de Dentra con acceso Developer: lo pides en /app, en la opción «Developer» del menú de la cuenta.
- En la página Developer, pestaña «Iniciar sesión con Dentra», pulsa «Registrar una aplicación» y escribe el nombre, qué tipo de app es, el responsable de los datos, el enlace a tu política de privacidad, las direcciones de retorno y los permisos que necesitas.
- Recibes el código de la app (client_id). Un sitio recibe también el secreto, que se ve una sola vez. Una app de escritorio no tiene secreto: la protege PKCE.
- Sube el logo (PNG, JPG o WEBP, hasta 512 KB): aparece en la pantalla de consentimiento junto al nombre del responsable y al enlace a tu privacidad, que debe ser https.
- Las direcciones de retorno de un sitio son https (http solo en 127.0.0.1, para pruebas en local). Las de una app de escritorio son http://127.0.0.1/<ruta>, sin puerto y nunca localhost, o un esquema propio. Las direcciones de retorno, las de salida y el logo los cambias cuando quieras; los permisos los eliges al registrarla y después no se cambian.
El documento de descubrimiento
Las direcciones de OAuth y OpenID Connect están también en el documento de descubrimiento; las de la API (/api/v1), no.
- discovery
- https://dentra.it/.well-known/openid-configuration
Las direcciones
La conexión paso a paso
Los permisos
Pide solo lo que necesitas: la pantalla de consentimiento enumera cada permiso, y solo puedes pedir los registrados para tu app.
Toda app tiene openid, email y profile. openid se pide en cada acceso: dice quién es, con un identificador que no cambia. email y profile (el nombre) llegan en el id_token, desde userinfo y en user de /api/v1/me solo si los pides: sin ellos, esos campos son null.
- offline_access
- Sigue conectada: recibes también la clave de renovación.
- clinic:read
- La clínica: nombre, NIF, dirección, contactos, sistemas de Dentra activos. Añade clinic_id al acceso.
- orders:read
- Los pedidos abiertos: número, estado, fechas y tipo de trabajo. Nunca datos de pacientes.
- preferences:read
- Las preferencias clínicas de la clínica.
- systems:read
- Los sistemas de Dentra: cuáles existen, cuáles tiene la clínica, con qué plan y cómo los usa tu app (GET /api/v1/systems).
- oralsnap:model
- Usar Oralsnap Model integrado en tu app: el escaneo se queda en el ordenador de la clínica.
Claves, renovación y salida
Los datos de la clínica
Los sistemas de Dentra en tu app
La suscripción
Reglas y privacidad
- Cuando la clínica acepta, tú eres el responsable de los datos que recibes: los tratas según tu política de privacidad, que aparece en la pantalla de consentimiento.
- Nunca recibes datos de pacientes, archivos, facturas ni las memorias del asistente de Dentra, y no puedes pedir ni cambiar nada en nombre de la clínica.
- No presentes tu app como un producto de Dentra: la pantalla siempre dice de quién es.