Single Sign On Salesforce Developer Group
-
Upload
juan-pedro-catalan -
Category
Technology
-
view
312 -
download
3
Transcript of Single Sign On Salesforce Developer Group
Single Sign On
@juanpeCMiOS
Juanpe Catalán
http://elrincondesalesforce.blogspot.com
http://www.juanpecatalan.com
Mobile & Force.com Development Team Lead
ThinkSmart S.A
Problema
Los registros en las
aplicaciones
Solución
Single Sign On (SSO)
Auge redes sociales Ejemplo
Sistemas SSO
•OpenID•SAML•OAuth (Winter 11)
OAuth 2.0
OAuth 2.0Protocolo 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)
En otras palabras
Aplicación B
Aplicación A
Usuario aplicación A
API
EsquemaWebServer
¿Pero cómo hacemos todo esto?
Implementación
Connected App de Salesforce
•API•Force.com REST y SOAP
Obtenemos
•Consumer Key•Consumer Secret
Connected App de Salesforce
Connected App de Salesforce
Autorización
Pedir autorizaciónRedirigir al usuario con una petición GET a la url proporcionada por Salesforce:
https://login.salesforce.com/services/oauth2/authorize
Parámetros:
response_typeclient_idredirect_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=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&redirect_uri=https%3A%2F%2Fwww.mysite.com%2Fcode_callback.jsp
Ejemplo:
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=aWekysIEeqM9PiThEfm0Cnr6MoLIfwWyRJcqOqHdF8f9INokharAS09ia7UNP6RiVScerfhc4w%3D%3D
Pedir token
Solicitar un token
https://login.salesforce.com/services/oauth2/token
Lanzar petición POST a la url proporcionada por Salesforce:
Parámetros:
grant_typeclient_idclient_secretredirect_uricode
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
Si todo ha ido bien, recibiremos una respuesta JSON con la siguiente estructura:
idscopeinstance_urlaccess_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
Me he perdido....
Repasamos
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
¿Y ahora?
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...
¿Todavía no?
Demo
Referencias
•https://help.salesforce.com/HTViewHelpDoc?id=remoteaccess_oauth_web_server_flow.htm
•https://www.salesforce.com/us/developer/docs/api_rest/Content/intro_understanding_web_server_oauth_flow.htm
•https://developer.salesforce.com/page/Digging_Deeper_into_OAuth_2.0_on_Force.com
•https://jsforce.github.io/
•https://github.com/kevinohara80/nforce
¿Preguntas?Gracias