9. OAuth 2.0
Protocolo abierto que permite autorización segura de una API de
modo estándar y simple para aplicaciones de escritorio, móviles y
web. (http://es.wikipedia.org/wiki/OAuth)
18. Pedir autorización
Redirigir al usuario con una petición GET a la url proporcionada por
Salesforce:
https://login.salesforce.com/services/oauth2/authorize
Parámetros:
response_type
client_id
redirect_uri
tipo de respuesta
Consumer Key de la Connected App
URL callback de la Connected App
https://login.salesforce.com/services/oauth2/authorize?response_type=code
&client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3X
HrXDiCQjK1mdgAvhCscA9GE&redirect_uri=https%3A%2F%2Fwww.mysite.com%2F
code_callback.jsp
Ejemplo:
19. Una vez logeado, Salesforce
contesta a la URL de callback
con el código de autorización.
Ejemplo de respuesta
https://www.mysite.com/authcode_callback?code=aWekysIEeqM9PiT
hEfm0Cnr6MoLIfwWyRJcqOqHdF8f9INokharAS09ia7UNP6RiVSc
erfhc4w%3D%3D
21. Solicitar un token
https://login.salesforce.com/services/oauth2/token
Lanzar petición POST a la url proporcionada por Salesforce:
Parámetros:
grant_type
client_id
client_secret
redirect_uri
code
tipo de autenticación
Consumer Key de la Connected App
Consumer Secret de la Connected App
URL callback de la Connected App
Código autorización obtenido anteriormente
22. Si todo ha ido bien, recibiremos una respuesta JSON con la
siguiente estructura:
id
scope
instance_url
access_token
ID del usuario logado
Lista de claves que identifican los permisos que proporciona la Connected App
Instancia a la que se debe hacer las siguientes peticiones REST
Token necesario para solicitar información a la ORG de Salesforce
25. Crear Connected
App1
El usuario nos
autoriza y nos
devuelve el código
3
Genera un token y lo
devuelve5
Lanzamos petición de
autorización 2
Lanzamos petición de
un token 4
Almacenamos la info
para siguientes
llamadas 6
27. Opciones
•Solicitar información usando Force.com REST
(https://www.salesforce.com/us/developer/docs/api_rest/)
•Desarrollar tus propios servicios que devuelvan
la información que necesites
•Usar librerías de terceros: JSForce, nForce...