Aviso de seguridad importante
Principio de seguridad ante todo: al desarrollar y desplegar aplicaciones de terceros, la seguridad es la consideración más importante. Debes seguir estrictamente los principios de seguridad expuestos a continuación para garantizar la seguridad de los datos de los usuarios y del proceso de autorización. ¡Violar cualquiera de los principios de seguridad anteriores puede provocar vulnerabilidades de seguridad graves!📋 Índice
- Descripción general
- Primeros pasos
- Flujo de autorización OAuth2
- Referencia de la API
- SDK y ejemplos de código
- Buenas prácticas de seguridad
- Preguntas frecuentes
- Soporte técnico
Descripción general
Ofrecemos una API abierta basada en el estándar OAuth2 que permite a las aplicaciones de terceros acceder de forma segura a la información básica de los usuarios y al saldo de su cuenta. A través de nuestro servicio OAuth2, tu aplicación puede:- 🚀 Inicio de sesión con un clic: los usuarios no necesitan registrarse de nuevo; el inicio de sesión concede automáticamente la autorización, proporcionando una experiencia verdaderamente fluida
- 👤 Obtener información del usuario: acceder al perfil básico de los usuarios (nombre de usuario, correo electrónico, etc.)
- 💰 Ver el saldo de la cuenta: obtener el saldo de la cuenta del usuario en tiempo real
- 🔄 Redirección a recarga: guía al usuario a nuestra página de recarga para recargar su cuenta
- 🔐 Renovación automática de tokens: mecanismo integrado de refresh token para una renovación sin interrupciones, mejorando la experiencia del usuario
Primeros pasos
1. Registra una cuenta de desarrollador
Primero, debes registrar una cuenta de desarrollador en nuestro sistema.2. Crea una aplicación OAuth
Crea tu aplicación OAuth en la consola de desarrolladores:API call example
3. Configura el Redirect URI
Asegúrate de que tu URI de redirección cumpla los siguientes requisitos:- Utilice el protocolo HTTPS (en producción)
- Apunte a un endpoint de tu servidor (no a una página de frontend)
- El dominio esté registrado y sea accesible
- La ruta sea específica del endpoint de API que gestiona la callback
Flujo de autorización OAuth2
Diagrama de flujo seguro
Instrucciones paso a paso
Paso 1: Guía al usuario para que autorice
Añade un botón de inicio de sesión en tu página de frontend. Al hacer clic, redirige al endpoint de autorización del lado del servidor:Frontend code - only responsible for redirecting
Paso 2: Manejador de autorización en el servidor
Implementa el manejador de autorización en tu servidor:Server-side code
Paso 3: Gestionar la callback de autorización (del lado del servidor)
Server-side authorization callback handler
Paso 4: El frontend obtiene la información del usuario
Frontend fetches user info via API proxy
Server-side API proxy
Referencia de la API
1. Endpoint de autorización
GET/api/oauth2/authorize
Guía al usuario a través de la autorización OAuth2.
Parámetros:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
client_id | string | Sí | ID de cliente de la aplicación (puede usarse en el frontend) |
redirect_uri | string | Sí | URI de callback tras la autorización (debe apuntar al endpoint del servidor) |
response_type | string | Sí | Fijo: code |
scope | string | No | Ámbito, separado por espacios |
state | string | Sí | Cadena aleatoria para prevenir ataques CSRF (generada en el servidor) |
auto_authorize | string | No | Establecer a true para activar la autorización automática |
redirect_uridebe coincidir exactamente con la dirección registradastatedebe ser una cadena aleatoria generada en el servidor- Se debe usar HTTPS (en producción)
profile: Acceso a la información básica del usuario (nombre de usuario, correo electrónico)balance: Acceso al saldo de la cuenta del usuario
2. Endpoint del token
POST/api/oauth2/token
Se utiliza en dos escenarios:
- Intercambiar el código de autorización por un access token
- Usar el refresh token para obtener un nuevo access token
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
grant_type | string | Sí | Fijo: authorization_code |
code | string | Sí | Código de autorización |
redirect_uri | string | Sí | Debe coincidir con la URI usada en la autorización |
client_id | string | Sí | ID de cliente de la aplicación |
client_secret | string | Sí | Secreto de cliente de la aplicación (solo del lado del servidor) |
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
grant_type | string | Sí | Fijo: refresh_token |
refresh_token | string | Sí | Refresh token |
client_id | string | Sí | ID de cliente de la aplicación |
client_secret | string | Sí | Secreto de cliente de la aplicación (solo del lado del servidor) |
3. Endpoint de información del usuario
GET/api/oauth2/userinfo
Obtén la información básica del usuario y el saldo de su cuenta.
Cabecera de la solicitud:
header
response
SDK y ejemplos de código
SDK de JavaScript
Ofrecemos un SDK completo de JavaScript que puedes utilizar directamente:Página de callback de OAuth
Crea un archivo/oauth/callback.html:
Ejemplo de backend en Node.js
Para mayor seguridad, se recomienda gestionarclient_secret en el backend:
Buenas prácticas de seguridad
1. Protección del client secret
- ✅ Recomendado: Almacena
client_secreten el servidor backend - ❌ Evitar: Exponer
client_secreten JavaScript del frontend
2. Validación del parámetro state
3. Uso de HTTPS
- Debe usarse
HTTPSen producción - El URI de callback debe usar
HTTPS - Todas las solicitudes a la API usan
HTTPS
4. Almacenamiento seguro de tokens
5. Manejo de errores
Preguntas frecuentes
P1: ¿Cómo conseguir una verdadera experiencia de inicio de sesión con un clic?
R: Solo tienes que añadir el parámetroauto_authorize=true a la URL de autorización. Después de que el usuario inicie sesión, la autorización se concederá automáticamente, sin ningún paso adicional de confirmación:
P2: ¿Los tokens se renuevan automáticamente?
R: Sí, nuestro SDK incorpora la renovación automática de tokens:- Access token: válido durante 2 horas, se renueva automáticamente 5 minutos antes de su expiración
- Refresh token: válido durante 30 días, se utiliza para obtener nuevos access tokens
- Renovación sin interrupciones: Todas las llamadas a la API comprobarán y renovarán automáticamente los tokens caducados
- Reintento en caso de fallo: Si la API devuelve un error 401, intentará renovar automáticamente el token y reintentar
P3: ¿Qué información del usuario puedo obtener?
R: Según el alcance autorizado, puedes obtener:- Scope
profile: nombre de usuario, correo electrónico - Scope
balance: información del saldo de la cuenta
P4: ¿Cómo puedo probar la integración OAuth?
R:- Usa
HTTP localhosten desarrollo para realizar pruebas - Utiliza nuestras herramientas de prueba proporcionadas para verificar el flujo de autorización
- Comprueba las solicitudes de red en las herramientas de desarrollador de tu navegador
P5: ¿Qué lenguajes de programación se admiten?
R: Nuestra API OAuth2 es estándar y admite todos los lenguajes de programación principales:- JavaScript/Node.js
- Python
- PHP
- Java
- C#/.NET
- Go
- Ruby