creating cloud-ready enterprise applications with the sharepoint 2013 add-in model.pptx
TRANSCRIPT
Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In/App ModelEric ShuppsSharePoint Server MVP
About Me
@eshupps sharepointcowboywww.sharepointcowboy.-com
slideshare.net/eshupps linkedin.com/in/eshupps
Eric ShuppsSharePoint Server MVP
Agenda
Design
Welcome to the dark side.
Authorization
API’s
Conversion
Deployment
Design
Legacy
Solution
FullTrust
Sandbox
FeatureManifestWebPart
WSP
I don’t think they like your solution. I don’t
like it either.
Next Generation
Solution
OAuth REST
DataWebApp
Client
The odds of deploying your app are approximately
3,720 to 1.
Architecture
SharePoint 2013
Sites ServicesContent
API
Oauth
App
Package HTML/JS Data
If you deploy me I shall become more powerful than you
can possibly imagine.
Authorization
• Open standard for app integration and authorization• Authentication
independent• “Valet Key”• Access• Permissions
OAuth
What OAuth is NOT
Authentication
How OAuth Works
User App Provider
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
OAuth in Apps
I am your token.
DEMOEstablishing Context
API’s
Client Object Model
.NET
Compiled
Synchronous
Server Side
These are not the clients we’re looking
for.Supports NTLM
DEMORetrieving List Items via CSOM
JavaScript Object Model
The code is strong with this one.
JavaScript
Asynchronous
Client Side
Inherited Context
Must Run in SP
DEMOCreating a Library with JSOM
REST
REST
Asynchronous
Client Side
Remote Endpoints
ODATA
Async or async not. There is no sync.
Unified
REST
O365 Only
Delve
Users FilesGroups
MailContact
sCalenda
r
Perhaps if you give me your token I’ll forget I found you.
DEMOUploading a Document via REST
Conversion
Old vs. New
Web Parts App Parts
Application Pages Web Pages
Timer Jobs Web Jobs
List Templates Code
Web Templates Provisioning
Event ReceiversRemote Event Receivers
DEMORemote Site Provisioning
Deployment
Delivery
AppCatalog
OfficeStore
Private
Package Validation
No Licensing
Public
App Validation
Licensing Framework
Get yousa apps outta meesa store!
On Premise
I trust yousa. Does yousa trust
meesa?
High Trust
Certificates
Token Issuers
Client ID’s and Secrets
Low Trust
Azure ACS
Hybrid
Tokens
Azure
Single Sign On
User & Group Assignment
App Permissions
App Launcher
Azure Portal
Help me, Azure. You’re my only hope.