32
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

Embed Size (px)

DESCRIPTION

The new SharePoint 2013 App model extends native SharePoint applications into the cloud, allowing developers to write applications that interact with SharePoint data remotely. With these new capabilities come additional challenges for managing security and user authorization via OAuth. Administrators, IT professionals, and developers should attend this session to familiarize themselves with the core concepts behind OAuth in SharePoint 2013, learn how best to configure and manage OAuth in their environment, and discover how OAuth is used in the SharePoint app model.

Citation preview

Page 1: 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

Page 2: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

CKS:DEV

TheSharePointCowboy

Patterns&

Practices

Eric Shupps

www.sharepointcowboy.com [email protected] facebook.com/sharepointcowboy @eshupps

Page 3: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

Introduction

Farms

On PremiseApps

OAuth+

SharePoint

Servers

CloudApps

Agenda

Page 4: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

INTRODUCTION

Page 5: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

authorization

Page 6: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013
Page 7: 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

Page 8: 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 + Access Token

App validates access token

Access token validated

User granted access

1

2

Page 9: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

OAuth in SharePoint 2013

Page 10: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013
Page 11: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

Manages identity information for principals (STS) Identity ProviderHandles requests for trusted identity claimsSecurity Token ServiceIdentity provider associated with a web applicationIdentity Token IssuerTrusted resource (farm, server, etc.)Security Token IssuerResource information and signing certificate (JSON)Metadata EndpointUsed to request permission to protected resourceRequest TokenUsed by App to access resource on behalf of userAccess TokenOperation scope for authorizationRealmCloud-based security token service (IP-STS)Azure ACS

Page 12: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013
Page 13: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013
Page 14: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

Farms

Page 15: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

COLLABORATEMy Sites

Content

Distributed Roles

Enterprise Features

Managed Metadata

Search

Shared Service Applications

Request Management

Page 16: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

ConsumerExport 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

Page 17: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

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

Page 18: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013
Page 19: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

Servers

Page 20: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

Other

Lync

Office Web Applications

Workflow

Servers

Exchange

Page 21: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

Certificates MetadataCreate security token issuer

Assign app principal permissions

Install client components

Export/Import certificates

Create root authorities

Execute configuration scripts

Execute configuration scripts

Page 22: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013
Page 23: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

Apps

Page 24: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

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

Page 25: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

User PermissionsApp behaves in context of user

Consistent across all requests

Specific access rights and scope requested by app

App Only Permissions

Granted on app installation

Page 26: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

Establish client context

Get access token with S2S

Get claims from Windows identity

Get request parameters

Page 27: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013
Page 28: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

CLOUD

Page 29: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

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

Page 30: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

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

Page 31: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013
Page 32: Who Are You and What Do You Want? Working with OAuth in SharePoint 2013

Description LinkOAuth 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