SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
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.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)
En otras palabras
Aplicación
B
Aplicación
A
Usuario
aplicación A
A
P
I
Esquema
WebServer
¿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ó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:
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
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_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
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
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

Más contenido relacionado

Similar a Single Sign On Salesforce Developer Group

BizLife - Construyendo un Ecosistema Empresarial usando WSO2
BizLife - Construyendo un Ecosistema Empresarial usando WSO2BizLife - Construyendo un Ecosistema Empresarial usando WSO2
BizLife - Construyendo un Ecosistema Empresarial usando WSO2Roger CARHUATOCTO
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"www.encamina.com
 
Presentación de Lyracons en el Meet Magento Argentina 2017
Presentación de Lyracons en el Meet Magento Argentina 2017 Presentación de Lyracons en el Meet Magento Argentina 2017
Presentación de Lyracons en el Meet Magento Argentina 2017 Diego Amuy
 
Sitios blindados de SharePoint
Sitios blindados de SharePointSitios blindados de SharePoint
Sitios blindados de SharePointwww.encamina.com
 
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los serviciosWSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los serviciosWSO2
 
tutorial guide using the api - 2015 espana seminario tecnico
tutorial guide using the api - 2015 espana seminario tecnicotutorial guide using the api - 2015 espana seminario tecnico
tutorial guide using the api - 2015 espana seminario tecnicoORCID, Inc
 
Single sign on spanish - guía completa
Single sign on   spanish - guía completaSingle sign on   spanish - guía completa
Single sign on spanish - guía completaCarlos Toxtli
 
Introducción a la gestión de contenidos web con Liferay Portal 6.1.x
Introducción a la gestión de contenidos web con Liferay Portal 6.1.xIntroducción a la gestión de contenidos web con Liferay Portal 6.1.x
Introducción a la gestión de contenidos web con Liferay Portal 6.1.xRoger CARHUATOCTO
 
Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019Santi Macias Rodriguez
 
Consumo de web service con volley (api rest)
Consumo de web service con volley (api rest)Consumo de web service con volley (api rest)
Consumo de web service con volley (api rest)Diego Vasco
 
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Dev Days Málaga 2017 - Apps conectadas con AzureXamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Dev Days Málaga 2017 - Apps conectadas con AzureJavier Suárez Ruiz
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerCloudAppi
 
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosDesarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosAdrian Alonso Vega
 
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeBruno Capuano
 

Similar a Single Sign On Salesforce Developer Group (20)

BizLife - Construyendo un Ecosistema Empresarial usando WSO2
BizLife - Construyendo un Ecosistema Empresarial usando WSO2BizLife - Construyendo un Ecosistema Empresarial usando WSO2
BizLife - Construyendo un Ecosistema Empresarial usando WSO2
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
 
Presentación de Lyracons en el Meet Magento Argentina 2017
Presentación de Lyracons en el Meet Magento Argentina 2017 Presentación de Lyracons en el Meet Magento Argentina 2017
Presentación de Lyracons en el Meet Magento Argentina 2017
 
Sitios blindados de SharePoint
Sitios blindados de SharePointSitios blindados de SharePoint
Sitios blindados de SharePoint
 
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los serviciosWSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
 
tutorial guide using the api - 2015 espana seminario tecnico
tutorial guide using the api - 2015 espana seminario tecnicotutorial guide using the api - 2015 espana seminario tecnico
tutorial guide using the api - 2015 espana seminario tecnico
 
Single sign on spanish - guía completa
Single sign on   spanish - guía completaSingle sign on   spanish - guía completa
Single sign on spanish - guía completa
 
Introducción al Protocolo OAuth 2.0
Introducción al Protocolo OAuth 2.0Introducción al Protocolo OAuth 2.0
Introducción al Protocolo OAuth 2.0
 
Introducción a la gestión de contenidos web con Liferay Portal 6.1.x
Introducción a la gestión de contenidos web con Liferay Portal 6.1.xIntroducción a la gestión de contenidos web con Liferay Portal 6.1.x
Introducción a la gestión de contenidos web con Liferay Portal 6.1.x
 
Implement Identity Server with .NET
Implement Identity Server with .NETImplement Identity Server with .NET
Implement Identity Server with .NET
 
Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019
 
Charla REST API
Charla REST APICharla REST API
Charla REST API
 
Google
GoogleGoogle
Google
 
Consumo de web service con volley (api rest)
Consumo de web service con volley (api rest)Consumo de web service con volley (api rest)
Consumo de web service con volley (api rest)
 
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Dev Days Málaga 2017 - Apps conectadas con AzureXamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developer
 
Windows azuremobileservices
Windows azuremobileservicesWindows azuremobileservices
Windows azuremobileservices
 
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosDesarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos Deportivos
 
SERVIDOR IIS EN W8
SERVIDOR IIS EN W8SERVIDOR IIS EN W8
SERVIDOR IIS EN W8
 
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
 

Último

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 

Último (11)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

Single Sign On Salesforce Developer Group