SlideShare a Scribd company logo
Who Are You and What Do You Want?
Working with OAuth in SharePoint 2013
CKS:DEV
The
SharePoint
Cowboy
Patterns
&
Practices
Eric Shupps
www.sharepointcowboy.com eshupps@binarywave.com facebook.com/sharepointcowboy @eshupps
Introduction
Farms
On Premise
Apps
OAuth
+
SharePoint
Servers
Cloud
Apps
Agenda
INTRODUCTION
authorization
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
User requests access App requests
Request Token
Provider returns
Request Token
App builds auth link
w/ Request Token
User requests URL +
Request Token
Provider returns
access token
User requests URL +
Access Token
App validates access
token
Access token
validated
User granted
access
1
2
3
User requests access App requests
Request Token
Provider returns
Request Token
App builds auth link
w/ Request Token
User requests URL +
Access Token
App validates access
token
Access token
validated
User granted
access
1
2
OAuth in SharePoint 2013
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Manages identity information for principals (STS)Identity Provider
Handles requests for trusted identity claimsSecurity Token Service
Identity provider associated with a web applicationIdentity Token Issuer
Trusted resource (farm, server, etc.)Security Token Issuer
Resource information and signing certificate (JSON)Metadata Endpoint
Used to request permission to protected resourceRequest Token
Used by App to access resource on behalf of userAccess Token
Operation scope for authorizationRealm
Cloud-based security token service (IP-STS)Azure ACS
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Farms
COLLABORATE
My Sites
Content
Distributed Roles
Enterprise Features
Managed Metadata
Search
Shared Service Applications
Request Management
Consumer
Export Root & STS Certificates
Copy Certificates
Import root certificate(s) and
create trusted root authority
Provider
Export Root Certificate
Copy Certificates
Import STS Certificate
Create Trusted Service Token
Issuer
Import root certificate(s) and
create trusted root authority
Consumer Provider
Create Trusted Root Authority
Set Authentication Realm
Create Trusted Security Token
Issuer
Create App Principals
Create Trusted Root Authority
Create Trusted Security Token
Issuer
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Servers
Other
Lync
Office Web Applications
Workflow
Servers
Exchange
Certificates Metadata
Create security token issuer
Assign app principal permissions
Install client components
Export/Import certificates
Create root authorities
Execute configuration scripts
Execute configuration scripts
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Apps
App establishes context
SP validates S2S trust
App requests access token from SP
Browser POSTS parameters to App
SP returns parameters
User browses to App
User Permissions
App behaves in context of user
Consistent across all requests
Specific access rights and
scope requested by app
App Only Permissions
Granted on app installation
Establish client context
Get access token with S2S
Get claims from Windows identity
Get request parameters
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
CLOUD
App establishes context
ACS provides access token
App requests access token from ACS
Browser POSTS request token to app
SP sends request tokens to browser
SP gets request token from ACS
User browses to app
Get client context from SP with access token
Get access token
Read and validate context token
Parse out Context Token
Get POST parameters from SP
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Description Link
OAuth Working Group http://oauth.net/
OAuth Resource Guide http://bit.ly/14CWPNb
Authorization and authentication for apps in SharePoint 2013 http://bit.ly/16f8WFh
Setting up an OAuth trust between farms in SharePoint 2013 http://bit.ly/12Yr7e3
Plan for server-to-server authentication in SharePoint 2013 http://bit.ly/1chAgFl
What’s new in authentication for SharePoint 2013 http://bit.ly/1e6KaYv
Creating High-Trust apps with S2S http://bit.ly/18RL8uL

More Related Content

PDF
Taking Advantage of the SharePoint 2013 REST API
DOCX
SharePoint 2013 REST API & Remote Authentication
PPTX
Are you getting Sleepy. REST in SharePoint Apps
PPTX
Introduction to the SharePoint 2013 REST API
PPTX
Understanding and programming the SharePoint REST API
PPTX
SharePoint Client Object Model (CSOM)
PPTX
Introduction to the SharePoint Client Object Model and REST API
PPTX
Data Access Options in SharePoint 2010
Taking Advantage of the SharePoint 2013 REST API
SharePoint 2013 REST API & Remote Authentication
Are you getting Sleepy. REST in SharePoint Apps
Introduction to the SharePoint 2013 REST API
Understanding and programming the SharePoint REST API
SharePoint Client Object Model (CSOM)
Introduction to the SharePoint Client Object Model and REST API
Data Access Options in SharePoint 2010

What's hot (20)

PPTX
Get Some Rest - Taking Advantage of the SharePoint 2013 REST API
PPTX
SharePoint 2010 Application Development Overview
DOCX
Working With Sharepoint 2013 Apps Development
PPTX
Advanced SharePoint Web Part Development
PPTX
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
PPTX
SharePoint 2010 Client-side Object Model
PPTX
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
PPTX
Introduction to SharePoint 2013 REST API
PPTX
SharePoint 2013 APIs
PDF
Developing an intranet on office 365
PPTX
SPFx Webinar Loading SharePoint data in a SPFx Webpart
PDF
Rest web services
PPTX
ASP.NET Web API
PPT
The RESTful Soa Datagrid with Oracle
PDF
Understanding and testing restful web services
PPTX
How to call REST API without knowing any programming languages
PPTX
PPTX
REST & RESTful Web Services
PPSX
Rest api standards and best practices
PDF
Doing REST Right
Get Some Rest - Taking Advantage of the SharePoint 2013 REST API
SharePoint 2010 Application Development Overview
Working With Sharepoint 2013 Apps Development
Advanced SharePoint Web Part Development
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
SharePoint 2010 Client-side Object Model
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
Introduction to SharePoint 2013 REST API
SharePoint 2013 APIs
Developing an intranet on office 365
SPFx Webinar Loading SharePoint data in a SPFx Webpart
Rest web services
ASP.NET Web API
The RESTful Soa Datagrid with Oracle
Understanding and testing restful web services
How to call REST API without knowing any programming languages
REST & RESTful Web Services
Rest api standards and best practices
Doing REST Right
Ad

Similar to Who Are You and What Do You Want? Working with OAuth in SharePoint 2013. (20)

PDF
SPUnite17 Who Are You and What Do You Want
PDF
SPS Houston - Who Are You and What Do You Want? Working With OAuth in SharePo...
PPTX
Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In ...
PDF
Creating cloud ready enterprise applications with the sharepoint 2013 app model
PPTX
SharePoint and Office Development Workshop
PPTX
DD109 Claims Based AuthN in SharePoint 2010
PPTX
Understanding SharePoint Apps, authentication and authorization infrastructur...
PPTX
Spsbe15 high-trust apps for on-premises development
PPTX
SPS Belgium 2015 - High-trust Apps for On-Premises Development
PDF
Webinar - Migrating Legacy On Premise Solutions to SharePoint Online and Wind...
PPTX
High-Trust Add-Ins SharePoint for On-Premises Development
PPTX
Oauth2 and OWSM OAuth2 support
PDF
e-SUAP - Security - Windows azure access control list (english version)
PPTX
Securing SharePoint Apps with OAuth
PPTX
Microservice security with spring security 5.1,Oauth 2.0 and open id connect
PPTX
Microsoft Graph API Delegated Permissions
PPTX
OAuth 2
PDF
Intro to API Security with Oauth 2.0
PPTX
Claims Based Identity In Share Point 2010
PPTX
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...
SPUnite17 Who Are You and What Do You Want
SPS Houston - Who Are You and What Do You Want? Working With OAuth in SharePo...
Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In ...
Creating cloud ready enterprise applications with the sharepoint 2013 app model
SharePoint and Office Development Workshop
DD109 Claims Based AuthN in SharePoint 2010
Understanding SharePoint Apps, authentication and authorization infrastructur...
Spsbe15 high-trust apps for on-premises development
SPS Belgium 2015 - High-trust Apps for On-Premises Development
Webinar - Migrating Legacy On Premise Solutions to SharePoint Online and Wind...
High-Trust Add-Ins SharePoint for On-Premises Development
Oauth2 and OWSM OAuth2 support
e-SUAP - Security - Windows azure access control list (english version)
Securing SharePoint Apps with OAuth
Microservice security with spring security 5.1,Oauth 2.0 and open id connect
Microsoft Graph API Delegated Permissions
OAuth 2
Intro to API Security with Oauth 2.0
Claims Based Identity In Share Point 2010
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...
Ad

More from Eric Shupps (20)

PPTX
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
PPTX
Scaling, Securing, Managing, and Publishing Power Platform Custom Connectors....
PDF
A Beginners Guide to Custom Connectors for Power Apps and Power Automate
PDF
App to AppExchange - A Journey from Idea to Market for Salesforce Developers
PPTX
Beginners Guide to Custom Connectors for Power Apps and Power Automate
PPTX
OSW06 - A Real World Guide to Building Highly Available Fault Tolerant ShareP...
PPTX
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
PPTX
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...
PPTX
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
PPTX
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
PPTX
SharePoint and Office 365 Development Workshop
PPTX
ECS 2018: Introduction to Azure Web Applications
POTX
SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...
PPTX
Overcoming Gender Imbalance in the Technical Field
POTX
Mastering Modern Authentication and Authorization for SharePoint and Office A...
PPTX
Enterprise Content Management Solutions in SharePoint and Office 365
PPTX
Introduction to the Office Dev PnP Core Libraries
PPTX
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
PPTX
SharePoint and Office 365 Performance Best Practices
PPTX
Introduction to Azure Web Applications for Office and SharePoint Developers
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
Scaling, Securing, Managing, and Publishing Power Platform Custom Connectors....
A Beginners Guide to Custom Connectors for Power Apps and Power Automate
App to AppExchange - A Journey from Idea to Market for Salesforce Developers
Beginners Guide to Custom Connectors for Power Apps and Power Automate
OSW06 - A Real World Guide to Building Highly Available Fault Tolerant ShareP...
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
SharePoint and Office 365 Development Workshop
ECS 2018: Introduction to Azure Web Applications
SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...
Overcoming Gender Imbalance in the Technical Field
Mastering Modern Authentication and Authorization for SharePoint and Office A...
Enterprise Content Management Solutions in SharePoint and Office 365
Introduction to the Office Dev PnP Core Libraries
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
SharePoint and Office 365 Performance Best Practices
Introduction to Azure Web Applications for Office and SharePoint Developers

Recently uploaded (20)

PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Electronic commerce courselecture one. Pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Spectroscopy.pptx food analysis technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Big Data Technologies - Introduction.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Mobile App Security Testing_ A Comprehensive Guide.pdf
Electronic commerce courselecture one. Pdf
The AUB Centre for AI in Media Proposal.docx
Advanced methodologies resolving dimensionality complications for autism neur...
Empathic Computing: Creating Shared Understanding
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectroscopy.pptx food analysis technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Big Data Technologies - Introduction.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
“AI and Expert System Decision Support & Business Intelligence Systems”
The Rise and Fall of 3GPP – Time for a Sabbatical?
Reach Out and Touch Someone: Haptics and Empathic Computing
Per capita expenditure prediction using model stacking based on satellite ima...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
cuic standard and advanced reporting.pdf
Approach and Philosophy of On baking technology
NewMind AI Weekly Chronicles - August'25 Week I

Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.

  • 1. Who Are You and What Do You Want? Working with OAuth in SharePoint 2013
  • 7. User requests access App requests Request Token Provider returns Request Token App builds auth link w/ Request Token User requests URL + Request Token Provider returns access token User requests URL + Access Token App validates access token Access token validated User granted access 1 2 3
  • 8. User requests access App requests Request Token Provider returns Request Token App builds auth link w/ Request Token User requests URL + Access Token App validates access token Access token validated User granted access 1 2
  • 11. Manages identity information for principals (STS)Identity Provider Handles requests for trusted identity claimsSecurity Token Service Identity provider associated with a web applicationIdentity Token Issuer Trusted resource (farm, server, etc.)Security Token Issuer Resource information and signing certificate (JSON)Metadata Endpoint Used to request permission to protected resourceRequest Token Used by App to access resource on behalf of userAccess Token Operation scope for authorizationRealm Cloud-based security token service (IP-STS)Azure ACS
  • 14. Farms
  • 15. COLLABORATE My Sites Content Distributed Roles Enterprise Features Managed Metadata Search Shared Service Applications Request Management
  • 16. Consumer Export Root & STS Certificates Copy Certificates Import root certificate(s) and create trusted root authority Provider Export Root Certificate Copy Certificates Import STS Certificate Create Trusted Service Token Issuer Import root certificate(s) and create trusted root authority
  • 17. Consumer Provider Create Trusted Root Authority Set Authentication Realm Create Trusted Security Token Issuer Create App Principals Create Trusted Root Authority Create Trusted Security Token Issuer
  • 21. Certificates Metadata Create security token issuer Assign app principal permissions Install client components Export/Import certificates Create root authorities Execute configuration scripts Execute configuration scripts
  • 23. Apps
  • 24. App establishes context SP validates S2S trust App requests access token from SP Browser POSTS parameters to App SP returns parameters User browses to App
  • 25. User Permissions App behaves in context of user Consistent across all requests Specific access rights and scope requested by app App Only Permissions Granted on app installation
  • 26. Establish client context Get access token with S2S Get claims from Windows identity Get request parameters
  • 28. CLOUD
  • 29. App establishes context ACS provides access token App requests access token from ACS Browser POSTS request token to app SP sends request tokens to browser SP gets request token from ACS User browses to app
  • 30. Get client context from SP with access token Get access token Read and validate context token Parse out Context Token Get POST parameters from SP
  • 32. Description Link OAuth Working Group http://oauth.net/ OAuth Resource Guide http://bit.ly/14CWPNb Authorization and authentication for apps in SharePoint 2013 http://bit.ly/16f8WFh Setting up an OAuth trust between farms in SharePoint 2013 http://bit.ly/12Yr7e3 Plan for server-to-server authentication in SharePoint 2013 http://bit.ly/1chAgFl What’s new in authentication for SharePoint 2013 http://bit.ly/1e6KaYv Creating High-Trust apps with S2S http://bit.ly/18RL8uL