Turinga! Connect
Turinga! Connect permite que aplicaciones externas autentiquen usuarios utilizando su cuenta de Turinga! sin tener acceso a su contraseña.
Protocolo: OAuth 2.0 OpenID Connect
Flujo de autorización
Usuario ↓ Tu aplicación ↓ Turinga! Connect ↓ Usuario autoriza ↓ Authorization Code ↓ Turinga! API ↓ Access Token ↓ UserInfo
Authorization Endpoint
GET https://connect.turinga.net/oauth/authorize.php
Parámetros:
-
response_type=code -
client_id -
redirect_uri -
scope -
state
Token Endpoint
POST https://api.turinga.net/oauth/token.php
Intercambia un Authorization Code por un Access Token.
grant_type=authorization_code client_id=TU_CLIENT_ID client_secret=TU_CLIENT_SECRET code=AUTHORIZATION_CODE redirect_uri=TU_REDIRECT_URI
Respuesta:
{
"access_token": "tka_...",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "tkr_...",
"scope": "openid profile"
}
UserInfo Endpoint
GET https://api.turinga.net/v1/userinfo.php
Envía:
Authorization: Bearer tka_...
Ejemplo de respuesta:
{
"sub": "1",
"id": 1,
"nick": "JuanL23",
"profile_url": "https://turinga.net/perfil/JuanL23",
"avatar": "https://t-26.net/avatares/...",
"rank": "Desarrollador"
}
Scopes
openid
Identifica de manera única al usuario.
profile
Permite consultar nick, avatar, perfil público y rango.
Permite consultar el correo electrónico. Este permiso puede requerir revisión adicional.
Seguridad
- Nunca compartas tu Client Secret.
- Utiliza siempre HTTPS.
-
Valida siempre el parámetro
state. - Nunca uses Access Tokens como contraseña del usuario.
- Los Authorization Codes solamente pueden utilizarse una vez.
- Las Redirect URI deben coincidir exactamente con las registradas.