OAuth
Término 178 de 314 · Tecnología
En una frase
OAuth es un estándar abierto de autorización que permite a una aplicación acceder a datos de otra en nombre del usuario, sin compartir su contraseña. En vez de la clave, intercambia tokens con permisos acotados que se pueden revocar.
OAuth (Open Authorization) es un estándar abierto de autorización que permite que una aplicación acceda a recursos de otra en nombre del usuario, sin que este tenga que entregar su contraseña. La versión vigente es OAuth 2.0 y es la base de los botones de tipo "Iniciar sesión con Google" y de casi toda integración entre sistemas modernos.
La idea central es la delegación de permisos: en lugar de compartir tu clave, le das a la app un token de acceso que representa un permiso limitado (por ejemplo, "leer tus contactos") y con vencimiento. Ese token se puede revocar en cualquier momento sin cambiar tu contraseña ni afectar a otras apps conectadas. En el ecosistema de Salesforce, OAuth es el mecanismo oficial para que una integración o una API consuma datos de la plataforma de forma segura.
Es importante no confundirlo: OAuth resuelve la autorización (qué puede hacer una app), no directamente la identidad del usuario. Para verificar quién es la persona se usa OpenID Connect, una capa que se monta sobre OAuth.
OAuth nació para resolver un problema concreto y cotidiano: ¿cómo permito que una aplicación use mis datos de otro servicio sin entregarle mi usuario y contraseña? Antes de su adopción, una app que quería leer tu agenda o publicar en tu nombre te pedía las credenciales directas, lo que era un riesgo de seguridad enorme. OAuth resuelve esto delegando un permiso acotado mediante tokens, no la contraseña.
Cómo funciona el flujo
En un flujo típico de OAuth 2.0 intervienen cuatro actores: el propietario del recurso (el usuario), el cliente (la app que pide acceso), el servidor de autorización (quien emite los tokens) y el servidor de recursos (donde viven los datos). La secuencia más común, el flujo de código de autorización, funciona así:
- La app redirige al usuario a la pantalla de login del proveedor (por ejemplo, Salesforce o Google).
- El usuario se autentica y aprueba los permisos que la app solicita, expresados como scopes (alcances).
- El servidor de autorización devuelve un código de autorización temporal a la app.
- La app intercambia ese código por un token de acceso (y normalmente un token de refresco), usando su secreto de cliente en una llamada de servidor a servidor.
- La app presenta el token de acceso al servidor de recursos cada vez que necesita leer o escribir datos.
El token de acceso suele tener vida corta (minutos u horas); cuando vence, el token de refresco permite obtener uno nuevo sin volver a molestar al usuario. Esa separación es clave para la seguridad: si un token de acceso se filtra, su ventana de daño es chica.
Por qué importa para un negocio
Casi toda automatización de procesos que conecta dos sistemas pasa por OAuth. Cuando tu CRM se sincroniza con tu plataforma de facturación, cuando un chatbot consulta el stock en tiempo real, o cuando una herramienta de marketing lee datos de tu base, lo más probable es que la conexión esté autorizada con OAuth. Para el área técnica, significa conexiones auditables y revocables: si un proveedor deja de trabajar con vos, revocás su token y listo, sin tocar contraseñas compartidas ni romper otras integraciones.
OAuth en el contexto de Salesforce
Salesforce usa OAuth 2.0 como mecanismo estándar para sus APIs. Una integración se registra como una Connected App (aplicación conectada) y, según el caso de uso, elige un flujo: el de código de autorización cuando hay un usuario humano aprobando, o el flujo JWT Bearer para integraciones de servidor a servidor que corren sin intervención (ideal para sincronizaciones nocturnas o procesos automáticos). Los permisos quedan acotados por scopes y por los perfiles y conjuntos de permisos del usuario que respalda la conexión.
OAuth no es lo mismo que autenticación
El error más común es tratar OAuth como un sistema de login. OAuth es autorización (delegar permisos), no autenticación (probar identidad). Para saber quién es realmente la persona se usa OpenID Connect, que agrega un token de identidad (ID token) sobre OAuth. Esta distinción aparece todo el tiempo en proyectos de integración:
| Aspecto | OAuth 2.0 | OpenID Connect (OIDC) |
|---|---|---|
| Resuelve | Autorización (delegar permisos) | Autenticación (identidad del usuario) |
| Entrega | Token de acceso | Token de acceso + token de identidad |
| Pregunta que responde | ¿Qué puede hacer la app? | ¿Quién es el usuario? |
| Caso de uso típico | Conectar dos sistemas vía API | "Iniciar sesión con..." |
Errores comunes a evitar
- Confundir autorización con autenticación: usar el token de acceso para "saber quién entró" en vez de OpenID Connect.
- Pedir scopes de más: solicitar permisos amplios cuando alcanzaba con uno acotado aumenta la superficie de riesgo.
- Guardar mal el token de refresco: es una credencial sensible y debe almacenarse cifrada del lado del servidor, nunca en el navegador.
- No prever la revocación: una integración seria contempla qué pasa cuando un token se revoca o expira, sin caerse.
Un ejemplo concreto
Pensá en una empresa de Consumo Masivo en Argentina que conecta su CRM de Salesforce con su sistema de facturación electrónica. En lugar de cargar el usuario y la contraseña de Salesforce dentro del sistema de facturación (una pésima práctica), se crea una Connected App con flujo JWT, con permiso solo para leer pedidos y crear facturas. Si en seis meses cambian de proveedor de facturación, revocan ese token y la conexión se corta de forma limpia, sin afectar a las demás integraciones ni exponer credenciales reutilizables.
Preguntas frecuentes sobre OAuth
¿Qué es OAuth?
¿Qué es OAuth?
OAuth es un estándar abierto de autorización que permite que una aplicación acceda a datos de otra en nombre del usuario, sin compartir la contraseña. En lugar de la clave, la app recibe un token con permisos limitados y vencimiento, que puede revocarse en cualquier momento. Su versión vigente es OAuth 2.0 y es la base de los botones tipo Iniciar sesión con Google y de casi toda integración por API moderna.
¿Cuál es la diferencia entre OAuth y autenticación?
¿Cuál es la diferencia entre OAuth y autenticación?
OAuth resuelve la autorización, es decir, qué puede hacer una aplicación con tus datos, no la autenticación, que es probar quién sos. Mucha gente lo usa como sistema de login, pero para verificar la identidad del usuario se usa OpenID Connect, una capa que se monta sobre OAuth y agrega un token de identidad. En resumen, OAuth responde qué puede hacer la app y OpenID Connect responde quién es el usuario.
¿Qué es un token de acceso en OAuth?
¿Qué es un token de acceso en OAuth?
Un token de acceso es una credencial temporal que la aplicación presenta para acceder a un recurso protegido, como una API. Representa un permiso acotado, por ejemplo leer contactos, y suele tener vida corta de minutos u horas. Cuando vence, un token de refresco permite obtener uno nuevo sin molestar al usuario. Esta separación limita el daño si un token se filtra, porque su ventana de validez es breve.
¿Cómo se usa OAuth en Salesforce?
¿Cómo se usa OAuth en Salesforce?
Salesforce usa OAuth 2.0 como mecanismo estándar para autorizar el acceso a sus APIs. Una integración se registra como una Connected App y elige un flujo según el caso: el de código de autorización cuando hay un usuario humano que aprueba los permisos, o el flujo JWT Bearer para integraciones de servidor a servidor que corren sin intervención, como sincronizaciones automáticas. Los permisos quedan acotados por scopes y por los perfiles y conjuntos de permisos del usuario asociado.
¿OAuth es seguro?
¿OAuth es seguro?
OAuth es seguro cuando se implementa bien, y por eso es el estándar de la industria. Su fortaleza es que nunca comparte la contraseña del usuario y entrega tokens con permisos limitados y revocables. Los riesgos suelen venir de errores de implementación: pedir más permisos de los necesarios, guardar mal el token de refresco o no usar HTTPS. Aplicar el principio de mínimo privilegio y almacenar las credenciales cifradas del lado del servidor mantiene el riesgo bajo.
Generador de Business Case
Tu caso de negocio con tus números, listo para el directorio.
Abrir la herramientaLo llevamos a tu Salesforce
Implementación, integración y soporte de Salesforce para empresas de LatAm, con foco en que el equipo lo use de verdad y no vuelva al Excel. Contanos en qué punto está tu org.
El glosario completo (más de 290 definiciones de IA, Salesforce y datos) en un PDF con hipervínculos.
Términos relacionados
- APIUna API (interfaz de programación de aplicaciones) es un contrato que permite que dos sistemas de software intercambien datos y funciones sin conocer su código interno. Define qué pedidos hacer y qué respuestas esperar, de forma estándar.
- IntegraciónUna integración es la conexión técnica que permite que dos o más sistemas (CRM, ERP, e-commerce, etc.) intercambien datos de forma automática, sin carga manual, para que la información fluya sincronizada entre ellos en tiempo real o por lotes.
- WebhookUn webhook es una notificación HTTP automática que un sistema envía a una URL de otro sistema cuando ocurre un evento, en tiempo real. Permite integrar aplicaciones sin que una tenga que preguntar a la otra cada cierto tiempo.
- EndpointUn endpoint es la dirección URL específica de una API donde un sistema envía o recibe datos. Es el punto de contacto que expone una función concreta (por ejemplo, consultar un cliente o crear un pedido) para que otra aplicación lo consuma.
- OEMEl OEM (Original Equipment Manufacturer), en el mundo Salesforce, es el modelo comercial por el cual un ISV embebe la plataforma dentro de su propio producto y la revende como solución propia, incluso a clientes que no tienen Salesforce.
- Objeto (Salesforce)Un objeto de Salesforce es una tabla de la base de datos que guarda un tipo de registro (cuentas, contactos, oportunidades). Define los campos, relaciones y reglas de un conjunto de datos del negocio dentro de la plataforma.
Preguntas relacionadas
- ¿Cuál es la diferencia entre un objeto custom y un campo custom?en Objeto custom
- ¿Qué es una org en Salesforce?en Org (Salesforce)
- ¿Qué es un paquete gestionado en Salesforce?en Paquete gestionado (managed package)
- ¿Qué es el rate limiting?en Rate limiting
- ¿Qué es una regla de validación en Salesforce?en Regla de validación
- ¿Cuántos releases tiene Salesforce por año?en Release
Salesforce
Implementación, integración y soporte de Salesforce para empresas de LatAm, con foco en la adopción real del equipo.
Así lo resuelve SalesforceAhora que sabés qué es, mirá cómo se resuelve
Cinco productos de IA que trabajan sobre el CRM que ya usás. No reemplazan tu sistema: le agregan la capa que hoy hacés a mano.