SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
OAuth2.0
An overview of OAuth2.0 on Force.com projects
June 11th 2015
Aldo Fernandez
Technical Consultant
@aldoforce
Safe Harbor
Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve
risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com,
inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of
historical fact could be deemed forward-looking, including any projections of subscriber growth, earnings, revenues, or other financial items and any
statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or
upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our
service, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in
our Web hosting, breach of our security measures, risks associated with possible mergers and acquisitions, the immature market in which we operate,
our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and
successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers.
Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the
most recent fiscal quarter ended July 31, 2011. This document and others are available on the SEC Filings section of the Investor Information section of
our Web site.
Any unreleased services or features referenced in this or other press releases or public statements are not currently available and may not be delivered
on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Follow UYSDUG for the latest news
@uysdug #uysdug
/Uruguay-Salesforce-Developer-User-Group/
www.uysdug.com
Join us and share your knowledge!
▪ Got something to share with the world?
▪ We are open for talks/sessions
▪ Check www.uysdug.com/cfp or get in contact with
someone from the Technical Board for more information
▪ UPCOMING EVENTS:
▪ July (Trailhead week)
▪ August (New Summer15 APIs)*
▪ September (Dreamforce 15!)
Agenda
▪ What is OAuth2.0?
▪ OAuth roles from Force.com perspective
▪ Connected apps as a gateway
▪ Authentication flows
▪ Tokens, tokens… tokens everywhere
▪ Step by step flows
What is OAuth 2.0? (formal)
▪ Is the evolution of OAuth protocol originally created in 2006
▪ “OAuth2.0 focuses on client developer simplicity while providing
specific authorization flows for web, desktop and mobile applications
and living room devices” — oauth.net/2
▪ If feeling brave, check the final version of the spec at: http://
tools.ietf.org/html/rfc6749
What is OAuth 2.0? (for the common people)
▪ OAuth2 is an authorization framework that enables applications to
obtain limited access to user accounts on an HTTP service
▪ It works by delegating user authentication to the service that hosts
the user account and authorizing 3rd party apps to access the user
account
▪ It provides authorization flows for web/desktop apps and mobile
devices
▪ The “valet key for the web”
OAuth roles from Force.com perspective
▪ Resource owner (Salesforce User)
▪ Client (an external app trying to do some cool stuff with Salesforce)
▪ Resource server (the salesforce instance na1.salesforce.com)
▪ Authorization server (the salesforce login hub login.salesforce.com)
OAuth roles from Force.com perspective
Connected Apps as a gateway
▪ Previously known a “remote access apps”
▪ Is an application that integrates with Salesforce using APIs such
REST and SOAP.
▪ Provides standard OAuth capabilities
▪ Allow administrators to set security policies and have explicit control
over who may use the app
▪ Package and deploy friendly (hello ISVs!)
▪ It’s the Salesforce’s abstraction of your external apps
Connected Apps
▪ When creating, you define OAuth metadata like:
▪ Basic descriptive and contact information for the app
▪ OAuth scopes and callback URL
▪ IP ranges where the app might be running (optional)
▪ Information about mobile policies (optional)
▪ In return you will receive:
▪ A client id (consumer key)
▪ A client secret (consumer secret)
▪ You will need BOTH for almost all authentication flows!
Connected Apps
Scopes
▪ API: allows access to the curent logged in user’s account over the
Salesforce APIs (includes chatter API)
▪ CHATTER_API: allows acces to Chatter API only
▪ FULL: allows access to all data accessible by current user. Doesn’t
include refresh_token
▪ REFRESH_TOKEN: allows to return a refresh token for logged in user.
▪ VISUALFORCE: allows access to Visualforce pages
▪ WEB: allows the ability to use access_token on the Web (includes
Visualforce scope)
A HA
moment!
Callback URL
▪ AKA ‘redirect URI’
▪ Is an endpoint(*) in your application to which Force.com can redirect
the user’s browser with an authentication code or access token
▪ To protect the tokens transactions HTTPS is enforced. HTTP only
allowed to localhost
▪ The redirect is a browser redirect
OAuth flows
▪ Web Server *
▪ User Agent *
▪ JWT (JSON Web Token)
▪ SAML Bearer assertion
▪ SAML assertion
▪ Username and password *
▪ Token refresh *
* most used/popular
Tokens, tokens… tokens everywhere!
▪ Authorization code: short lived token created by the authorization server and
passed to the client app via browser. The client app sends the authorization code to
the authorization server to obtain an access token or refresh token.
▪ Access token: used by the client app to make authenticated requests on behalf of
the end user. Lifetime on the order of minutes/hours, then a new access token
must be obtained.
▪ Refresh token: unlimited lifetime or until explicitly revoked by end-user. The client
app can store the refresh token to periodically obtain fresh access tokens. MUST
PROTECT AS A PASSWORD
▪ ID token: Used and defined by OpenID Connect. Provides information about the
logged in user.
Web Server flow
Web Server flow (step by step)
User Agent flow
Username and password flow
Token refresh
Resources + Kudos
▪ Pat Patterson @metadaddy “Digging Deeper into OAuth
2.0 on Force.com”
▪ Pat Patterson @metadaddy “Getting started with
Force.com REST API” @salesforcedocs
▪ OAuth community site (oauth.net)
Thank You!
OAuth2.0
An overview of OAuth2.0 on Force.com projects
Uruguay
Salesforce Developer Group
June 11, 2015 #UYSDUG
Aldo Fernandez
Technical Consultant
@aldoforce
#uysdug
#oauth

Mais conteúdo relacionado

Mais procurados

Secure Salesforce: Hardened Apps with the Mobile SDK
Secure Salesforce: Hardened Apps with the Mobile SDKSecure Salesforce: Hardened Apps with the Mobile SDK
Secure Salesforce: Hardened Apps with the Mobile SDKSalesforce Developers
 
Integrating The Cloud - How to integrate Salesforce
Integrating The Cloud  - How to integrate SalesforceIntegrating The Cloud  - How to integrate Salesforce
Integrating The Cloud - How to integrate SalesforceRoy Gilad
 
Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3Mark Adcock
 
Advanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationAdvanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationSalesforce Developers
 
Build Amazing Website without coding using Salesforce SiteForce
Build Amazing Website without coding using Salesforce SiteForceBuild Amazing Website without coding using Salesforce SiteForce
Build Amazing Website without coding using Salesforce SiteForcevraopolisetti
 
Cisco UCCX/UCCE Integration With ServiceNow
Cisco UCCX/UCCE Integration With ServiceNowCisco UCCX/UCCE Integration With ServiceNow
Cisco UCCX/UCCE Integration With ServiceNowPRANJOL SAIKIA
 
Modern UI development with Lightning Components - Spanish!
Modern UI development with Lightning Components - Spanish!Modern UI development with Lightning Components - Spanish!
Modern UI development with Lightning Components - Spanish!Alba Azcona Rivas
 
How Force.com developers do more in less time
How Force.com developers do more in less timeHow Force.com developers do more in less time
How Force.com developers do more in less timeAbhinav Gupta
 
Cisco UCCX/UCCE Integration With SFDC Salesforce
Cisco UCCX/UCCE Integration With SFDC SalesforceCisco UCCX/UCCE Integration With SFDC Salesforce
Cisco UCCX/UCCE Integration With SFDC SalesforcePRANJOL SAIKIA
 
Build Better Communities with Lightning
Build Better Communities with LightningBuild Better Communities with Lightning
Build Better Communities with LightningSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 
Secure Salesforce: Org Access Controls
Secure Salesforce: Org Access ControlsSecure Salesforce: Org Access Controls
Secure Salesforce: Org Access ControlsSalesforce Developers
 
Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1Salesforce Developers
 
Mastering Force.com: Advanced Visualforce
Mastering Force.com: Advanced VisualforceMastering Force.com: Advanced Visualforce
Mastering Force.com: Advanced VisualforceSalesforce Developers
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Salesforce Developers
 
Javascript and Remote Objects on Force.com Winter 15
Javascript and Remote Objects on Force.com Winter 15Javascript and Remote Objects on Force.com Winter 15
Javascript and Remote Objects on Force.com Winter 15Peter Chittum
 
Lightning Components - Advanced Features
Lightning Components - Advanced FeaturesLightning Components - Advanced Features
Lightning Components - Advanced FeaturesSalesforce Developers
 
Webinar: Build Apps Customers Love as a Salesforce Developer
Webinar: Build Apps Customers Love as a Salesforce DeveloperWebinar: Build Apps Customers Love as a Salesforce Developer
Webinar: Build Apps Customers Love as a Salesforce DeveloperSalesforce Developers
 

Mais procurados (20)

Secure Salesforce: Hardened Apps with the Mobile SDK
Secure Salesforce: Hardened Apps with the Mobile SDKSecure Salesforce: Hardened Apps with the Mobile SDK
Secure Salesforce: Hardened Apps with the Mobile SDK
 
Integrating The Cloud - How to integrate Salesforce
Integrating The Cloud  - How to integrate SalesforceIntegrating The Cloud  - How to integrate Salesforce
Integrating The Cloud - How to integrate Salesforce
 
Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3
 
Advanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationAdvanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social Authentication
 
Build Amazing Website without coding using Salesforce SiteForce
Build Amazing Website without coding using Salesforce SiteForceBuild Amazing Website without coding using Salesforce SiteForce
Build Amazing Website without coding using Salesforce SiteForce
 
Cisco UCCX/UCCE Integration With ServiceNow
Cisco UCCX/UCCE Integration With ServiceNowCisco UCCX/UCCE Integration With ServiceNow
Cisco UCCX/UCCE Integration With ServiceNow
 
Diving Into Heroku Private Spaces
Diving Into Heroku Private SpacesDiving Into Heroku Private Spaces
Diving Into Heroku Private Spaces
 
Introducing Salesforce Identity
Introducing Salesforce IdentityIntroducing Salesforce Identity
Introducing Salesforce Identity
 
Modern UI development with Lightning Components - Spanish!
Modern UI development with Lightning Components - Spanish!Modern UI development with Lightning Components - Spanish!
Modern UI development with Lightning Components - Spanish!
 
How Force.com developers do more in less time
How Force.com developers do more in less timeHow Force.com developers do more in less time
How Force.com developers do more in less time
 
Cisco UCCX/UCCE Integration With SFDC Salesforce
Cisco UCCX/UCCE Integration With SFDC SalesforceCisco UCCX/UCCE Integration With SFDC Salesforce
Cisco UCCX/UCCE Integration With SFDC Salesforce
 
Build Better Communities with Lightning
Build Better Communities with LightningBuild Better Communities with Lightning
Build Better Communities with Lightning
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 
Secure Salesforce: Org Access Controls
Secure Salesforce: Org Access ControlsSecure Salesforce: Org Access Controls
Secure Salesforce: Org Access Controls
 
Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1
 
Mastering Force.com: Advanced Visualforce
Mastering Force.com: Advanced VisualforceMastering Force.com: Advanced Visualforce
Mastering Force.com: Advanced Visualforce
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17
 
Javascript and Remote Objects on Force.com Winter 15
Javascript and Remote Objects on Force.com Winter 15Javascript and Remote Objects on Force.com Winter 15
Javascript and Remote Objects on Force.com Winter 15
 
Lightning Components - Advanced Features
Lightning Components - Advanced FeaturesLightning Components - Advanced Features
Lightning Components - Advanced Features
 
Webinar: Build Apps Customers Love as a Salesforce Developer
Webinar: Build Apps Customers Love as a Salesforce DeveloperWebinar: Build Apps Customers Love as a Salesforce Developer
Webinar: Build Apps Customers Love as a Salesforce Developer
 

Semelhante a 04 june meetup - An overview of OAuth2 on Force.com projects

Salesforce Identity Management
Salesforce Identity ManagementSalesforce Identity Management
Salesforce Identity ManagementJayant Jindal
 
Introduction to lightning out df16
Introduction to lightning out   df16Introduction to lightning out   df16
Introduction to lightning out df16Mohith Shrivastava
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforceMark Adcock
 
#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platform#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platformSalesforce Developers
 
Lightning Out: Components for the Rest of the World
Lightning Out: Components for the Rest of the WorldLightning Out: Components for the Rest of the World
Lightning Out: Components for the Rest of the WorldSalesforce Developers
 
Processing outbound messages with Node.js
Processing outbound messages with Node.jsProcessing outbound messages with Node.js
Processing outbound messages with Node.jsAldo Fernandez
 
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OpenID Connect: The new standard for connecting to your Customers, Partners, ...OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OpenID Connect: The new standard for connecting to your Customers, Partners, ...Salesforce Developers
 
Salesforce API Series: Integrating Applications with Force.com Webinar
Salesforce API Series: Integrating Applications with Force.com WebinarSalesforce API Series: Integrating Applications with Force.com Webinar
Salesforce API Series: Integrating Applications with Force.com WebinarSalesforce Developers
 
[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter ChittumBeMyApp
 
Navi Mumbai Salesforce DUG meetup on integration
Navi Mumbai Salesforce DUG meetup on integrationNavi Mumbai Salesforce DUG meetup on integration
Navi Mumbai Salesforce DUG meetup on integrationRakesh Gupta
 
Deep dive into salesforce connected app part 1
Deep dive into salesforce connected app   part 1Deep dive into salesforce connected app   part 1
Deep dive into salesforce connected app part 1Mohith Shrivastava
 
Cutting Edge Mobile Development in the App Cloud
Cutting Edge Mobile Development in the App CloudCutting Edge Mobile Development in the App Cloud
Cutting Edge Mobile Development in the App CloudSalesforce Developers
 
Mobile Developer Week
Mobile Developer WeekMobile Developer Week
Mobile Developer WeekPat Patterson
 
San Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning OverviewSan Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning OverviewVivek Chawla
 
Intro to the Salesforce Mobile SDK: Building Android Apps
Intro to the Salesforce Mobile SDK: Building Android AppsIntro to the Salesforce Mobile SDK: Building Android Apps
Intro to the Salesforce Mobile SDK: Building Android AppsSalesforce Developers
 

Semelhante a 04 june meetup - An overview of OAuth2 on Force.com projects (20)

Salesforce Identity Management
Salesforce Identity ManagementSalesforce Identity Management
Salesforce Identity Management
 
Introduction to lightning out df16
Introduction to lightning out   df16Introduction to lightning out   df16
Introduction to lightning out df16
 
Building BOTS on App Cloud
Building BOTS on App CloudBuilding BOTS on App Cloud
Building BOTS on App Cloud
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
 
#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platform#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platform
 
Lightning Out: Components for the Rest of the World
Lightning Out: Components for the Rest of the WorldLightning Out: Components for the Rest of the World
Lightning Out: Components for the Rest of the World
 
Processing outbound messages with Node.js
Processing outbound messages with Node.jsProcessing outbound messages with Node.js
Processing outbound messages with Node.js
 
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OpenID Connect: The new standard for connecting to your Customers, Partners, ...OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
 
Salesforce API Series: Integrating Applications with Force.com Webinar
Salesforce API Series: Integrating Applications with Force.com WebinarSalesforce API Series: Integrating Applications with Force.com Webinar
Salesforce API Series: Integrating Applications with Force.com Webinar
 
[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 
Navi Mumbai Salesforce DUG meetup on integration
Navi Mumbai Salesforce DUG meetup on integrationNavi Mumbai Salesforce DUG meetup on integration
Navi Mumbai Salesforce DUG meetup on integration
 
Deep dive into salesforce connected app part 1
Deep dive into salesforce connected app   part 1Deep dive into salesforce connected app   part 1
Deep dive into salesforce connected app part 1
 
Force.com Friday : Intro to Apex
Force.com Friday : Intro to Apex Force.com Friday : Intro to Apex
Force.com Friday : Intro to Apex
 
Cutting Edge Mobile Development in the App Cloud
Cutting Edge Mobile Development in the App CloudCutting Edge Mobile Development in the App Cloud
Cutting Edge Mobile Development in the App Cloud
 
Using the Google SOAP API
Using the Google SOAP APIUsing the Google SOAP API
Using the Google SOAP API
 
Mobile Developer Week
Mobile Developer WeekMobile Developer Week
Mobile Developer Week
 
San Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning OverviewSan Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning Overview
 
Intro to the Salesforce Mobile SDK: Building Android Apps
Intro to the Salesforce Mobile SDK: Building Android AppsIntro to the Salesforce Mobile SDK: Building Android Apps
Intro to the Salesforce Mobile SDK: Building Android Apps
 
Secure Coding: SSL, SOAP, and REST
Secure Coding: SSL, SOAP, and RESTSecure Coding: SSL, SOAP, and REST
Secure Coding: SSL, SOAP, and REST
 

Mais de Aldo Fernandez

Test Driven Development (TDD) on Force.com projects
Test Driven Development (TDD) on Force.com projectsTest Driven Development (TDD) on Force.com projects
Test Driven Development (TDD) on Force.com projectsAldo Fernandez
 
November meetup - Hello Winter'16
November meetup - Hello Winter'16November meetup - Hello Winter'16
November meetup - Hello Winter'16Aldo Fernandez
 
06 august meetup - enterprise integration architecture
06   august meetup - enterprise integration architecture06   august meetup - enterprise integration architecture
06 august meetup - enterprise integration architectureAldo Fernandez
 
Procesando Salesforce Outbound Messages con PHP en Heroku
Procesando Salesforce Outbound Messages con PHP en HerokuProcesando Salesforce Outbound Messages con PHP en Heroku
Procesando Salesforce Outbound Messages con PHP en HerokuAldo Fernandez
 
Continuous Integration - Software development lifecycle for Force.com projects
Continuous Integration - Software development lifecycle for Force.com projectsContinuous Integration - Software development lifecycle for Force.com projects
Continuous Integration - Software development lifecycle for Force.com projectsAldo Fernandez
 
Salesforce1 dev week UYSDUG 2014 - the force canvas spark
Salesforce1 dev week UYSDUG 2014 - the force canvas sparkSalesforce1 dev week UYSDUG 2014 - the force canvas spark
Salesforce1 dev week UYSDUG 2014 - the force canvas sparkAldo Fernandez
 
Salesforce1 lightning dev week UYSDUG 2015 - Lightning Connect
Salesforce1 lightning dev week UYSDUG 2015 - Lightning ConnectSalesforce1 lightning dev week UYSDUG 2015 - Lightning Connect
Salesforce1 lightning dev week UYSDUG 2015 - Lightning ConnectAldo Fernandez
 
Salesforce mobile dev weel UYSDUG 2013 - Enabling restful services for mobile...
Salesforce mobile dev weel UYSDUG 2013 - Enabling restful services for mobile...Salesforce mobile dev weel UYSDUG 2013 - Enabling restful services for mobile...
Salesforce mobile dev weel UYSDUG 2013 - Enabling restful services for mobile...Aldo Fernandez
 

Mais de Aldo Fernandez (8)

Test Driven Development (TDD) on Force.com projects
Test Driven Development (TDD) on Force.com projectsTest Driven Development (TDD) on Force.com projects
Test Driven Development (TDD) on Force.com projects
 
November meetup - Hello Winter'16
November meetup - Hello Winter'16November meetup - Hello Winter'16
November meetup - Hello Winter'16
 
06 august meetup - enterprise integration architecture
06   august meetup - enterprise integration architecture06   august meetup - enterprise integration architecture
06 august meetup - enterprise integration architecture
 
Procesando Salesforce Outbound Messages con PHP en Heroku
Procesando Salesforce Outbound Messages con PHP en HerokuProcesando Salesforce Outbound Messages con PHP en Heroku
Procesando Salesforce Outbound Messages con PHP en Heroku
 
Continuous Integration - Software development lifecycle for Force.com projects
Continuous Integration - Software development lifecycle for Force.com projectsContinuous Integration - Software development lifecycle for Force.com projects
Continuous Integration - Software development lifecycle for Force.com projects
 
Salesforce1 dev week UYSDUG 2014 - the force canvas spark
Salesforce1 dev week UYSDUG 2014 - the force canvas sparkSalesforce1 dev week UYSDUG 2014 - the force canvas spark
Salesforce1 dev week UYSDUG 2014 - the force canvas spark
 
Salesforce1 lightning dev week UYSDUG 2015 - Lightning Connect
Salesforce1 lightning dev week UYSDUG 2015 - Lightning ConnectSalesforce1 lightning dev week UYSDUG 2015 - Lightning Connect
Salesforce1 lightning dev week UYSDUG 2015 - Lightning Connect
 
Salesforce mobile dev weel UYSDUG 2013 - Enabling restful services for mobile...
Salesforce mobile dev weel UYSDUG 2013 - Enabling restful services for mobile...Salesforce mobile dev weel UYSDUG 2013 - Enabling restful services for mobile...
Salesforce mobile dev weel UYSDUG 2013 - Enabling restful services for mobile...
 

Último

Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 

Último (20)

Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 

04 june meetup - An overview of OAuth2 on Force.com projects

  • 1. OAuth2.0 An overview of OAuth2.0 on Force.com projects June 11th 2015
  • 3. Safe Harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal quarter ended July 31, 2011. This document and others are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 4. Follow UYSDUG for the latest news @uysdug #uysdug /Uruguay-Salesforce-Developer-User-Group/ www.uysdug.com
  • 5. Join us and share your knowledge! ▪ Got something to share with the world? ▪ We are open for talks/sessions ▪ Check www.uysdug.com/cfp or get in contact with someone from the Technical Board for more information ▪ UPCOMING EVENTS: ▪ July (Trailhead week) ▪ August (New Summer15 APIs)* ▪ September (Dreamforce 15!)
  • 6. Agenda ▪ What is OAuth2.0? ▪ OAuth roles from Force.com perspective ▪ Connected apps as a gateway ▪ Authentication flows ▪ Tokens, tokens… tokens everywhere ▪ Step by step flows
  • 7. What is OAuth 2.0? (formal) ▪ Is the evolution of OAuth protocol originally created in 2006 ▪ “OAuth2.0 focuses on client developer simplicity while providing specific authorization flows for web, desktop and mobile applications and living room devices” — oauth.net/2 ▪ If feeling brave, check the final version of the spec at: http:// tools.ietf.org/html/rfc6749
  • 8. What is OAuth 2.0? (for the common people) ▪ OAuth2 is an authorization framework that enables applications to obtain limited access to user accounts on an HTTP service ▪ It works by delegating user authentication to the service that hosts the user account and authorizing 3rd party apps to access the user account ▪ It provides authorization flows for web/desktop apps and mobile devices ▪ The “valet key for the web”
  • 9. OAuth roles from Force.com perspective ▪ Resource owner (Salesforce User) ▪ Client (an external app trying to do some cool stuff with Salesforce) ▪ Resource server (the salesforce instance na1.salesforce.com) ▪ Authorization server (the salesforce login hub login.salesforce.com)
  • 10. OAuth roles from Force.com perspective
  • 11. Connected Apps as a gateway ▪ Previously known a “remote access apps” ▪ Is an application that integrates with Salesforce using APIs such REST and SOAP. ▪ Provides standard OAuth capabilities ▪ Allow administrators to set security policies and have explicit control over who may use the app ▪ Package and deploy friendly (hello ISVs!) ▪ It’s the Salesforce’s abstraction of your external apps
  • 12. Connected Apps ▪ When creating, you define OAuth metadata like: ▪ Basic descriptive and contact information for the app ▪ OAuth scopes and callback URL ▪ IP ranges where the app might be running (optional) ▪ Information about mobile policies (optional) ▪ In return you will receive: ▪ A client id (consumer key) ▪ A client secret (consumer secret) ▪ You will need BOTH for almost all authentication flows!
  • 14. Scopes ▪ API: allows access to the curent logged in user’s account over the Salesforce APIs (includes chatter API) ▪ CHATTER_API: allows acces to Chatter API only ▪ FULL: allows access to all data accessible by current user. Doesn’t include refresh_token ▪ REFRESH_TOKEN: allows to return a refresh token for logged in user. ▪ VISUALFORCE: allows access to Visualforce pages ▪ WEB: allows the ability to use access_token on the Web (includes Visualforce scope)
  • 16. Callback URL ▪ AKA ‘redirect URI’ ▪ Is an endpoint(*) in your application to which Force.com can redirect the user’s browser with an authentication code or access token ▪ To protect the tokens transactions HTTPS is enforced. HTTP only allowed to localhost ▪ The redirect is a browser redirect
  • 17. OAuth flows ▪ Web Server * ▪ User Agent * ▪ JWT (JSON Web Token) ▪ SAML Bearer assertion ▪ SAML assertion ▪ Username and password * ▪ Token refresh * * most used/popular
  • 18. Tokens, tokens… tokens everywhere! ▪ Authorization code: short lived token created by the authorization server and passed to the client app via browser. The client app sends the authorization code to the authorization server to obtain an access token or refresh token. ▪ Access token: used by the client app to make authenticated requests on behalf of the end user. Lifetime on the order of minutes/hours, then a new access token must be obtained. ▪ Refresh token: unlimited lifetime or until explicitly revoked by end-user. The client app can store the refresh token to periodically obtain fresh access tokens. MUST PROTECT AS A PASSWORD ▪ ID token: Used and defined by OpenID Connect. Provides information about the logged in user.
  • 20. Web Server flow (step by step)
  • 24. Resources + Kudos ▪ Pat Patterson @metadaddy “Digging Deeper into OAuth 2.0 on Force.com” ▪ Pat Patterson @metadaddy “Getting started with Force.com REST API” @salesforcedocs ▪ OAuth community site (oauth.net)
  • 25. Thank You! OAuth2.0 An overview of OAuth2.0 on Force.com projects Uruguay Salesforce Developer Group June 11, 2015 #UYSDUG Aldo Fernandez Technical Consultant @aldoforce #uysdug #oauth