SlideShare a Scribd company logo
1 of 38
An IT Pro Guide for Deploying and
Managing SharePoint 2013 Apps
Randy Williams
randy.williams@avepoint.com
@tweetraw
Randy Williams
Director of ACSAuthor
Our Agenda
Understanding
2013 Apps
Provisioning
Support for
2013 Apps
Managing
2013 Apps
Deploying
Provider-
hosted Apps
UNDERSTANDING 2013 APPS
#espc14@tweetraw
So - what exactly is an app?
• Can contain some declarative SharePoint artifacts
• External app can provide UI through SharePoint IFrame or full
screen
• External app uses CSOM or REST (OData) to call back
• No custom server-side code running on SharePoint servers
An application whose interface is
launched from or surfaced through
SharePoint but code is executed
elsewhere
How an app runs
#espc14@tweetraw
Host web & app web
• The host web is where app is added, removed, upgraded
• If app contains SharePoint artifacts, a sub-web is
created underneath the host web
• This sub-web is called the app web
• App web is only accessible using isolated domain name
– https://{AppPrefix}-{ID}.{AppDomain}/path/{AppName}
https://teams.contoso.com
https://app-af48d482118ab1.appscontoso.com/myapp
#espc14@tweetraw
Understanding the app web url
• The app prefix is defined when you configure support for SharePoint
apps
• The app id is an app-unique hex string automatically generated
• The app domain is the DNS name you configure
• The host web relative url is the portion of the url that is relative to the
web application
• The app name is set by the developer
https://<app prefix>–<app id>.<app domain>/<host web relative url>/<app name>
https://app-af48d482118ab1.appscontoso.com/sites/projects/foo/myapp
#espc14@tweetraw
App principal
• A 2013 app uses a new security principal called, app
principal
• The developer sets the
permissions the app will need
• Permissions are delegated to
app principal when app is
provisioned
If user does not have the permissions the
app needs, it cannot be provisioned
#espc14@tweetraw
App policies
The developer sets the app permission policy in the
app manifest
<AppPermissionRequests AllowAppOnlyPolicy="true|false">
Policy type Attribute value What it means
User & app
policy
false (default) Both the user and the app must have
permissions to perform an action.
App only
policy
true Only the app needs permissions to
perform an action. You must be a site
collection admin to provision apps of
this type. (Think of this as an elevation
of privileges)
#espc14@tweetraw
App permission scope
• Permissions are not inherited like user principals
• Permissions are granted to one of four scopes
– Tenancy (meaning all web apps if not using multi-tenancy)
– Site collection
– Web (meaning host web)
– List (by default, all lists in host web)
• App receives the requested permission to all objects
contained in this scope
DEMO
Reviewing app web url
PROVISIONING SUPPORT FOR
2013 APPS
#espc14@tweetraw
Four steps to host apps
on premises
1. Create an app tenancy
2. Configure app url settings
3. Configure redirection web app
4. Configure DNS
#espc14@tweetraw
Creating an app tenancy
• Create App Management Service app
– Tracks app instances, licenses, app principals
• Create Subscription Settings Service app
– Provides app isolation
• Do not use the farm account for the app pools
• The account does not need to be a local admin
• Start these services on the designated server(s)
1
Scripting the app tenancy
$dbserver="sql1"
$wfe="wfe1"
$acct = "contosoSP.AppPool“
$subPool = New-SPServiceApplicationPool -name "SubscriptionSettingsAppPool" –account $acct
$appPool = New-SPServiceApplicationPool -name "AppManagementAppPool" -account $acct
$name = "App Management Service"
$svc = New-SPAppManagementServiceApplication -ApplicationPool $appPool -Name $name - `
DatabaseName "AppManagement" -DatabaseServer $dbserver
New-SPAppManagementServiceApplicationProxy -ServiceApplication $svc -Name "$name Proxy"
$name = "Subscription Settings Service"
$svc = New-SPSubscriptionSettingsServiceApplication -ApplicationPool $subPool -Name $name `
-DatabaseName "SubscriptionSettings" -DatabaseServer $dbserver
New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $svc
Get-SPServiceInstance | where {$_.typename -in ("App Management Service", `
"Microsoft SharePoint Foundation Subscription Settings Service") -and $_.Parent -like `
"*$wfe"} | Start-SPServiceInstance
#espc14@tweetraw
Configure app url settings
• There are two settings you need to specify
– App Prefix and App Domain
• Security wise, it is best to have app domain be a top-level
domain (e.g. appscontoso.com)
• Set in Central Administration or PowerShell
Set-SPAppDomain "appscontoso.com"
Set-SPAppSiteSubscriptionName `
-Name "apps" -Confirm:$false
2
#espc14@tweetraw
Configure redirection web app
• Create a dedicated SP web application
– Make sure host header is blank
– No content database needed
– It is only used for “app redirection”
• Bind IIS web site to a dedicated IP address
• SSL strongly recommended
– Use a wildcard certificate (e.g. *.appscontoso.com)
– Bind certificate to this IIS web site
3
#espc14@tweetraw
Sample IIS bindings
Type Host name Port IP Address SSL certificate Description
https teams.contoso.com 443 10.0.0.10 teams.contoso.com Regular SP web
application
https portal.contoso.com 443 10.0.0.11 portal.contoso.com Regular SP web
application
https <blank> 443 10.0.0.12 *.appscontoso.com
SharePoint web
application used for
app redirection
#espc14@tweetraw
Configure DNS
• Create an authoritative zone for the app domain
• Dynamic hostname resolution is needed, so you’ll
need a wildcard “A” record
– For example: *.appscontoso.com
• Host (“A” record) points to the IP address for the
“redirection” web app
– 10.0.0.12 from previous slide
4
DEMO
Provisioning support for SharePoint 2013 apps
Book giveaway question
MANAGING 2013 APPS
#espc14@tweetraw
Creating an app catalog
• Two primary purposes
– Manages internally-developed apps
– Manage app requests
• Web app can only have one app catalog
– App catalog is associated with just one web app
New-SPSite -Url http://teams.contoso.com/sites/AppCatalog -OwnerAlias `
"contosoadmin" -Name "Contoso App Catalog" -Template "APPCATALOG#0"
Update-SPAppCatalogConfiguration -site `
http://teams.contoso.com/sites/AppCatalog
#espc14@tweetraw
Managing app requests
• If users cannot directly install apps, they must request
• Requests are stored in the app catalog
• Add an alert to the App Requests list to be notified of
new requests
• Grant site collection admin on app catalog to delegate
to others
#espc14@tweetraw
Managing licenses
• By default, only farm admin can manage licenses
• Management can be delegated out on a license-by-
license basis
#espc14@tweetraw
Common questions
• Who can provision apps?
– Site owners (Create Sites + Manage permissions)
– Provisioning user must have permissions requested by app
• Can I disable the SharePoint Store?
– Not completely. You can restrict whether users must request
apps or not
– Editing AddAnApp.aspx page is a workaround to remove the
link
DEMO
Managing SharePoint 2013 apps
DEPLOYING CUSTOM PROVIDER-
HOSTED APPS
#espc14@tweetraw
Provider-hosted apps
• Server-side code runs remotely, outside SharePoint
• Each app has an app principal
• For on-premises farm, you can use a S2S trust or
Azure ACS (O365 tenancy)
• SSL is strongly recommended for remote web
• Integrated Windows auth on remote web is required
if using Visual Studio helper class
#espc14@tweetraw
Configuring OAuth in SharePoint
• Scenario: SPOL and on-premises app
• Use AppRegNew.aspx to register app principal
– Generate App Id and App Secret
– For app domain, use host header of remote web
– Redirect URI is optional
• Configure remote web using values from AppRegNew
<add key="ClientId" value="…" /> Use App Id value
<add key="ClientSecret" value="…" /> use App Secret value
• Add the .app package into the app catalog
#espc14@tweetraw
Configuring S2S in SharePoint
• Scenario: On-premises farm and app
• Create a X.509 cert
– Export to .cer (without private key)
– Export to .pfx (with private key) and store on remote
server
• Run New-SPTrustedSecurityTokenIssuer
• Run Register-SPAppPrincipal
• Add the .app package into the app catalog
S2S – configuring SharePoint
$certPath = "c:tempapp.cer"
$spUrl = "https://teams.contoso.com"
$appName = "My app name"
$stsName = $appName + " STS"
$issuerId = [System.Guid]::NewGuid().ToString().ToLower()
$spweb = Get-SPWeb $spUrl
$realm = Get-SPAuthenticationRealm -ServiceContext $spweb.Site
$cert = Get-PfxCertificate $certPath
New-SPTrustedRootAuthority -Name "STS cert" -Certificate $cert `
$fullAppIdentifier = $issuerId + '@' + $realm
New-SPTrustedSecurityTokenIssuer -name $stsName -Certificate $cert `
-RegisteredIssuerName $fullAppIdentifier -IsTrustBroker
$appPrincipal = Register-SPAppPrincipal -NameIdentifier $fullAppIdentifier `
-Site $spweb -DisplayName $appName
#espc14@tweetraw
S2S - configuring remote web
• Store .pfx export of cert in a local folder
• Reference cert in configuration (e.g. web.config)
• For ClientId, use $issuerId value from previous script
(from SharePoint)
• ClientId and IssuerId can be the same
<add key="ClientId" value="a63e90ea-289d-469b-8b35-c5748779c1b4" />
<add key="ClientSigningCertificatePath" value="{path}app.pfx" />
<add key="ClientSigningCertificatePassword" value="pass@word1" />
<add key="IssuerId" value=" a63e90ea-289d-469b-8b35-c5748779c1b4" />
Quick recap
Understanding
2013 Apps
Provisioning
Support for
2013 Apps
Managing
2013 Apps
Deploying
Provider-
hosted Apps
For more
information,
see chapter 15
Q&A
#espc14@tweetraw
Additional reading
Topic Url
App permissions bit.ly/1g3w5wB
Deploying apps with PowerShell bit.ly/1ijTGsW
OAuth authorization flow bit.ly/1g3wjEa
App principal registration bit.ly/1j49DZ9
Package and publish high trust apps bit.ly/RmaNEh
Thank
You
Thank You
randy.williams@avepoint.com
@tweetraw

More Related Content

What's hot

Fast search 2010 for SharePoint 2010 Installation and Configuration
Fast search 2010 for SharePoint 2010 Installation and ConfigurationFast search 2010 for SharePoint 2010 Installation and Configuration
Fast search 2010 for SharePoint 2010 Installation and ConfigurationAhmed Madany
 
Monitoring and Maintaining SharePoint 2013 Server
Monitoring and Maintaining SharePoint 2013 ServerMonitoring and Maintaining SharePoint 2013 Server
Monitoring and Maintaining SharePoint 2013 ServerLearning SharePoint
 
Teched Middle East New World of SharePoint 2010 Administration with Joel Oles...
Teched Middle East New World of SharePoint 2010 Administration with Joel Oles...Teched Middle East New World of SharePoint 2010 Administration with Joel Oles...
Teched Middle East New World of SharePoint 2010 Administration with Joel Oles...Joel Oleson
 
SharePoint 2010 Failed Deployments en English y Español. 10 Pasos Para una Im...
SharePoint 2010 Failed Deployments en English y Español. 10 Pasos Para una Im...SharePoint 2010 Failed Deployments en English y Español. 10 Pasos Para una Im...
SharePoint 2010 Failed Deployments en English y Español. 10 Pasos Para una Im...Joel Oleson
 
SharePoint 2010 Upgrade Drill Down
SharePoint 2010 Upgrade Drill DownSharePoint 2010 Upgrade Drill Down
SharePoint 2010 Upgrade Drill DownJoel Oleson
 
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nycJohn Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nycSharePoint Saturday NY
 
Tech Ed Africa Demystifying Backup Restore In Share Point 2007
Tech Ed Africa Demystifying Backup Restore In Share Point 2007Tech Ed Africa Demystifying Backup Restore In Share Point 2007
Tech Ed Africa Demystifying Backup Restore In Share Point 2007Joel Oleson
 
TEC2010 SharePoint 2010 Upgrade
TEC2010 SharePoint 2010 UpgradeTEC2010 SharePoint 2010 Upgrade
TEC2010 SharePoint 2010 UpgradeJoel Oleson
 
Share point 2010_overview-day4-code
Share point 2010_overview-day4-codeShare point 2010_overview-day4-code
Share point 2010_overview-day4-codeNarayana Reddy
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for DevsMicrosoftFeed
 
Oracle Apex Installation (EPG)
Oracle Apex Installation (EPG)Oracle Apex Installation (EPG)
Oracle Apex Installation (EPG)Khairul Islam
 
Share point 2013 installation step by step
Share point 2013 installation step by stepShare point 2013 installation step by step
Share point 2013 installation step by stepprasslides
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Kashif Imran
 
Configure SharePoint Server 2013 in a Three-Tier Farm
Configure SharePoint Server 2013 in a Three-Tier FarmConfigure SharePoint Server 2013 in a Three-Tier Farm
Configure SharePoint Server 2013 in a Three-Tier FarmVinh Nguyen
 
New Features Of ASP.Net 4 0
New Features Of ASP.Net 4 0New Features Of ASP.Net 4 0
New Features Of ASP.Net 4 0Dima Maleev
 
SharePoint 2010 Tools in Visual Studio 2010
SharePoint 2010 Tools in Visual Studio 2010SharePoint 2010 Tools in Visual Studio 2010
SharePoint 2010 Tools in Visual Studio 2010Becky Bertram
 
ECM And Enterprise Metadata in SharePoint 2010
ECM And Enterprise Metadata in SharePoint 2010ECM And Enterprise Metadata in SharePoint 2010
ECM And Enterprise Metadata in SharePoint 2010Phuong Nguyen
 
Office Web Apps Server 2013
Office Web Apps Server 2013Office Web Apps Server 2013
Office Web Apps Server 2013SPC Adriatics
 

What's hot (20)

Fast search 2010 for SharePoint 2010 Installation and Configuration
Fast search 2010 for SharePoint 2010 Installation and ConfigurationFast search 2010 for SharePoint 2010 Installation and Configuration
Fast search 2010 for SharePoint 2010 Installation and Configuration
 
SharePoint 2010 Development
SharePoint 2010 DevelopmentSharePoint 2010 Development
SharePoint 2010 Development
 
Monitoring and Maintaining SharePoint 2013 Server
Monitoring and Maintaining SharePoint 2013 ServerMonitoring and Maintaining SharePoint 2013 Server
Monitoring and Maintaining SharePoint 2013 Server
 
Teched Middle East New World of SharePoint 2010 Administration with Joel Oles...
Teched Middle East New World of SharePoint 2010 Administration with Joel Oles...Teched Middle East New World of SharePoint 2010 Administration with Joel Oles...
Teched Middle East New World of SharePoint 2010 Administration with Joel Oles...
 
SharePoint 2010 Failed Deployments en English y Español. 10 Pasos Para una Im...
SharePoint 2010 Failed Deployments en English y Español. 10 Pasos Para una Im...SharePoint 2010 Failed Deployments en English y Español. 10 Pasos Para una Im...
SharePoint 2010 Failed Deployments en English y Español. 10 Pasos Para una Im...
 
SharePoint 2010 Upgrade Drill Down
SharePoint 2010 Upgrade Drill DownSharePoint 2010 Upgrade Drill Down
SharePoint 2010 Upgrade Drill Down
 
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nycJohn Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
 
Tech Ed Africa Demystifying Backup Restore In Share Point 2007
Tech Ed Africa Demystifying Backup Restore In Share Point 2007Tech Ed Africa Demystifying Backup Restore In Share Point 2007
Tech Ed Africa Demystifying Backup Restore In Share Point 2007
 
TEC2010 SharePoint 2010 Upgrade
TEC2010 SharePoint 2010 UpgradeTEC2010 SharePoint 2010 Upgrade
TEC2010 SharePoint 2010 Upgrade
 
Share point 2010_overview-day4-code
Share point 2010_overview-day4-codeShare point 2010_overview-day4-code
Share point 2010_overview-day4-code
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for Devs
 
Oracle Apex Installation (EPG)
Oracle Apex Installation (EPG)Oracle Apex Installation (EPG)
Oracle Apex Installation (EPG)
 
Share point 2013 installation step by step
Share point 2013 installation step by stepShare point 2013 installation step by step
Share point 2013 installation step by step
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
Winter 15 : Salesforce
Winter 15 : SalesforceWinter 15 : Salesforce
Winter 15 : Salesforce
 
Configure SharePoint Server 2013 in a Three-Tier Farm
Configure SharePoint Server 2013 in a Three-Tier FarmConfigure SharePoint Server 2013 in a Three-Tier Farm
Configure SharePoint Server 2013 in a Three-Tier Farm
 
New Features Of ASP.Net 4 0
New Features Of ASP.Net 4 0New Features Of ASP.Net 4 0
New Features Of ASP.Net 4 0
 
SharePoint 2010 Tools in Visual Studio 2010
SharePoint 2010 Tools in Visual Studio 2010SharePoint 2010 Tools in Visual Studio 2010
SharePoint 2010 Tools in Visual Studio 2010
 
ECM And Enterprise Metadata in SharePoint 2010
ECM And Enterprise Metadata in SharePoint 2010ECM And Enterprise Metadata in SharePoint 2010
ECM And Enterprise Metadata in SharePoint 2010
 
Office Web Apps Server 2013
Office Web Apps Server 2013Office Web Apps Server 2013
Office Web Apps Server 2013
 

Similar to An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps

Power Shell and Sharepoint 2013
Power Shell and Sharepoint 2013Power Shell and Sharepoint 2013
Power Shell and Sharepoint 2013Mohan Arumugam
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...Nik Patel
 
What IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 AppsWhat IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 AppsMike Henthorn
 
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure SetupSharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setupvmaximiuk
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365Luis Valencia
 
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...Dragan Panjkov
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienChris O'Brien
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint StoreKashif Imran
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAlexander Meijers
 
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015MobileMoxie
 
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015Suzzicks
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APISharePointRadi
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsApigee | Google Cloud
 
Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Microsoft 365 Developer
 
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Jim McKeeth
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSanjay Patel
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSanjay Patel
 
Transitioning to SharePoint App Development
Transitioning to SharePoint App DevelopmentTransitioning to SharePoint App Development
Transitioning to SharePoint App DevelopmentSimon Rennocks
 
(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013Dragan Panjkov
 

Similar to An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps (20)

Power Shell and Sharepoint 2013
Power Shell and Sharepoint 2013Power Shell and Sharepoint 2013
Power Shell and Sharepoint 2013
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
 
What IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 AppsWhat IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 Apps
 
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure SetupSharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365
 
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-apps
 
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
 
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
 
SharePoint Apps model overview
SharePoint Apps model overviewSharePoint Apps model overview
SharePoint Apps model overview
 
Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020
 
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
 
Transitioning to SharePoint App Development
Transitioning to SharePoint App DevelopmentTransitioning to SharePoint App Development
Transitioning to SharePoint App Development
 
(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013
 

More from Randy Williams

Architecting Solutions and Systems – Randy’s Secrets to Success
Architecting Solutions and Systems – Randy’s Secrets to SuccessArchitecting Solutions and Systems – Randy’s Secrets to Success
Architecting Solutions and Systems – Randy’s Secrets to SuccessRandy Williams
 
Governing and managing hybrid SharePoint environments
Governing and managing hybrid SharePoint environmentsGoverning and managing hybrid SharePoint environments
Governing and managing hybrid SharePoint environmentsRandy Williams
 
When governance lacks compliance
When governance lacks complianceWhen governance lacks compliance
When governance lacks complianceRandy Williams
 
The Future of Social Collaboration
The Future of Social CollaborationThe Future of Social Collaboration
The Future of Social CollaborationRandy Williams
 
Getting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 AppsGetting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 AppsRandy Williams
 
Building the next generation of browser apps today
Building the next generation of browser apps todayBuilding the next generation of browser apps today
Building the next generation of browser apps todayRandy Williams
 
SQL Server 2012 and SharePoint 2010: Reporting Nirvana
SQL Server 2012 and SharePoint 2010: Reporting NirvanaSQL Server 2012 and SharePoint 2010: Reporting Nirvana
SQL Server 2012 and SharePoint 2010: Reporting NirvanaRandy Williams
 
How governance drives your information and security architecture
How governance drives your information and security architectureHow governance drives your information and security architecture
How governance drives your information and security architectureRandy Williams
 
Sizing your Content Databases: Understanding the Limits
Sizing your Content Databases: Understanding the LimitsSizing your Content Databases: Understanding the Limits
Sizing your Content Databases: Understanding the LimitsRandy Williams
 
SharePoint Online and the Cloud
SharePoint Online and the CloudSharePoint Online and the Cloud
SharePoint Online and the CloudRandy Williams
 
Enforcing SharePoint Governance
Enforcing SharePoint GovernanceEnforcing SharePoint Governance
Enforcing SharePoint GovernanceRandy Williams
 
Migrating to Office 365
Migrating to Office 365Migrating to Office 365
Migrating to Office 365Randy Williams
 
Governance - how does information & security drive your architecture
Governance - how does information & security drive your architectureGovernance - how does information & security drive your architecture
Governance - how does information & security drive your architectureRandy Williams
 
Understanding SharePoint Governance
Understanding SharePoint GovernanceUnderstanding SharePoint Governance
Understanding SharePoint GovernanceRandy Williams
 
Guiding a Successful SharePoint Implementation
Guiding a Successful SharePoint ImplementationGuiding a Successful SharePoint Implementation
Guiding a Successful SharePoint ImplementationRandy Williams
 
Plugging holes in your SharePoint 2010 disaster recovery strategy
Plugging holes in your SharePoint 2010 disaster recovery strategyPlugging holes in your SharePoint 2010 disaster recovery strategy
Plugging holes in your SharePoint 2010 disaster recovery strategyRandy Williams
 
Spicing up SharePoint web parts
Spicing up SharePoint web partsSpicing up SharePoint web parts
Spicing up SharePoint web partsRandy Williams
 

More from Randy Williams (18)

Architecting Solutions and Systems – Randy’s Secrets to Success
Architecting Solutions and Systems – Randy’s Secrets to SuccessArchitecting Solutions and Systems – Randy’s Secrets to Success
Architecting Solutions and Systems – Randy’s Secrets to Success
 
Governing and managing hybrid SharePoint environments
Governing and managing hybrid SharePoint environmentsGoverning and managing hybrid SharePoint environments
Governing and managing hybrid SharePoint environments
 
When governance lacks compliance
When governance lacks complianceWhen governance lacks compliance
When governance lacks compliance
 
The Future of Social Collaboration
The Future of Social CollaborationThe Future of Social Collaboration
The Future of Social Collaboration
 
Getting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 AppsGetting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 Apps
 
Building the next generation of browser apps today
Building the next generation of browser apps todayBuilding the next generation of browser apps today
Building the next generation of browser apps today
 
SQL Server 2012 and SharePoint 2010: Reporting Nirvana
SQL Server 2012 and SharePoint 2010: Reporting NirvanaSQL Server 2012 and SharePoint 2010: Reporting Nirvana
SQL Server 2012 and SharePoint 2010: Reporting Nirvana
 
How governance drives your information and security architecture
How governance drives your information and security architectureHow governance drives your information and security architecture
How governance drives your information and security architecture
 
Sizing your Content Databases: Understanding the Limits
Sizing your Content Databases: Understanding the LimitsSizing your Content Databases: Understanding the Limits
Sizing your Content Databases: Understanding the Limits
 
SharePoint Online and the Cloud
SharePoint Online and the CloudSharePoint Online and the Cloud
SharePoint Online and the Cloud
 
Enforcing SharePoint Governance
Enforcing SharePoint GovernanceEnforcing SharePoint Governance
Enforcing SharePoint Governance
 
Migrating to Office 365
Migrating to Office 365Migrating to Office 365
Migrating to Office 365
 
Governance - how does information & security drive your architecture
Governance - how does information & security drive your architectureGovernance - how does information & security drive your architecture
Governance - how does information & security drive your architecture
 
Understanding SharePoint Governance
Understanding SharePoint GovernanceUnderstanding SharePoint Governance
Understanding SharePoint Governance
 
Why I Use SharePoint
Why I Use SharePointWhy I Use SharePoint
Why I Use SharePoint
 
Guiding a Successful SharePoint Implementation
Guiding a Successful SharePoint ImplementationGuiding a Successful SharePoint Implementation
Guiding a Successful SharePoint Implementation
 
Plugging holes in your SharePoint 2010 disaster recovery strategy
Plugging holes in your SharePoint 2010 disaster recovery strategyPlugging holes in your SharePoint 2010 disaster recovery strategy
Plugging holes in your SharePoint 2010 disaster recovery strategy
 
Spicing up SharePoint web parts
Spicing up SharePoint web partsSpicing up SharePoint web parts
Spicing up SharePoint web parts
 

Recently uploaded

Haitian culture and stuff and places and food and travel.pptx
Haitian culture and stuff and places and food and travel.pptxHaitian culture and stuff and places and food and travel.pptx
Haitian culture and stuff and places and food and travel.pptxhxhlixia
 
8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR
8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR
8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCRdollysharma2066
 
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)Mazie Garcia
 
Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...
Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...
Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...nishakur201
 
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,MsVIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Msankitnayak356677
 
Where to Stay in Lagos, Portugal.pptxasd
Where to Stay in Lagos, Portugal.pptxasdWhere to Stay in Lagos, Portugal.pptxasd
Where to Stay in Lagos, Portugal.pptxasdusmanghaniwixpatriot
 
Louisville Bourbon Tour Packages
Louisville    Bourbon    Tour    PackagesLouisville    Bourbon    Tour    Packages
Louisville Bourbon Tour Packagestrailntrackus
 
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)Escort Service
 
Exploring Sicily Your Comprehensive Ebook Travel Guide
Exploring Sicily Your Comprehensive Ebook Travel GuideExploring Sicily Your Comprehensive Ebook Travel Guide
Exploring Sicily Your Comprehensive Ebook Travel GuideTime for Sicily
 
Aeromexico Airlines Flight Name Change Policy
Aeromexico Airlines Flight Name Change PolicyAeromexico Airlines Flight Name Change Policy
Aeromexico Airlines Flight Name Change PolicyFlyFairTravels
 
How Safe Is It To Witness Whales In Maui’s Waters
How Safe Is It To Witness Whales In Maui’s WatersHow Safe Is It To Witness Whales In Maui’s Waters
How Safe Is It To Witness Whales In Maui’s WatersMakena Coast Charters
 
question 2: airplane vocabulary presentation
question 2: airplane vocabulary presentationquestion 2: airplane vocabulary presentation
question 2: airplane vocabulary presentationcaminantesdaauga
 
Italia Lucca 1 Un tesoro nascosto tra le sue mura
Italia Lucca 1 Un tesoro nascosto tra le sue muraItalia Lucca 1 Un tesoro nascosto tra le sue mura
Italia Lucca 1 Un tesoro nascosto tra le sue murasandamichaela *
 
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsxHoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsxChung Yen Chang
 
(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR
(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR
(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCRsoniya singh
 
Moving to Italy - A Relocation Rollercoaster
Moving to Italy - A Relocation RollercoasterMoving to Italy - A Relocation Rollercoaster
Moving to Italy - A Relocation RollercoasterStefSmulders1
 
Revolutionalizing Travel: A VacAI Update
Revolutionalizing Travel: A VacAI UpdateRevolutionalizing Travel: A VacAI Update
Revolutionalizing Travel: A VacAI Updatejoymorrison10
 
Inspirational Quotes About Italy and Food
Inspirational Quotes About Italy and FoodInspirational Quotes About Italy and Food
Inspirational Quotes About Italy and FoodKasia Chojecki
 

Recently uploaded (20)

Haitian culture and stuff and places and food and travel.pptx
Haitian culture and stuff and places and food and travel.pptxHaitian culture and stuff and places and food and travel.pptx
Haitian culture and stuff and places and food and travel.pptx
 
Enjoy ➥8448380779▻ Call Girls In Sector 62 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 62 Noida Escorts Delhi NCREnjoy ➥8448380779▻ Call Girls In Sector 62 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 62 Noida Escorts Delhi NCR
 
8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR
8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR
8377087607 Full Enjoy @24/7 Call Girls in INA Market Dilli Hatt Delhi NCR
 
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
 
Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...
Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...
Call Girls In Panjim Mariott Resort ₰8588052666₰ North ...
 
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,MsVIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
VIP Call Girls in Noida 9711199012 Escorts in Greater Noida,Ms
 
Where to Stay in Lagos, Portugal.pptxasd
Where to Stay in Lagos, Portugal.pptxasdWhere to Stay in Lagos, Portugal.pptxasd
Where to Stay in Lagos, Portugal.pptxasd
 
Enjoy ➥8448380779▻ Call Girls In Sector 74 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 74 Noida Escorts Delhi NCREnjoy ➥8448380779▻ Call Girls In Sector 74 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 74 Noida Escorts Delhi NCR
 
Louisville Bourbon Tour Packages
Louisville    Bourbon    Tour    PackagesLouisville    Bourbon    Tour    Packages
Louisville Bourbon Tour Packages
 
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
69 Girls ✠ 9599264170 ✠ Call Girls In East Of Kailash (VIP)
 
Exploring Sicily Your Comprehensive Ebook Travel Guide
Exploring Sicily Your Comprehensive Ebook Travel GuideExploring Sicily Your Comprehensive Ebook Travel Guide
Exploring Sicily Your Comprehensive Ebook Travel Guide
 
Aeromexico Airlines Flight Name Change Policy
Aeromexico Airlines Flight Name Change PolicyAeromexico Airlines Flight Name Change Policy
Aeromexico Airlines Flight Name Change Policy
 
How Safe Is It To Witness Whales In Maui’s Waters
How Safe Is It To Witness Whales In Maui’s WatersHow Safe Is It To Witness Whales In Maui’s Waters
How Safe Is It To Witness Whales In Maui’s Waters
 
question 2: airplane vocabulary presentation
question 2: airplane vocabulary presentationquestion 2: airplane vocabulary presentation
question 2: airplane vocabulary presentation
 
Italia Lucca 1 Un tesoro nascosto tra le sue mura
Italia Lucca 1 Un tesoro nascosto tra le sue muraItalia Lucca 1 Un tesoro nascosto tra le sue mura
Italia Lucca 1 Un tesoro nascosto tra le sue mura
 
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsxHoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
Hoi An Ancient Town, Vietnam (越南 會安古鎮).ppsx
 
(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR
(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR
(8264348440) 🔝 Call Girls In Nand Nagri 🔝 Delhi NCR
 
Moving to Italy - A Relocation Rollercoaster
Moving to Italy - A Relocation RollercoasterMoving to Italy - A Relocation Rollercoaster
Moving to Italy - A Relocation Rollercoaster
 
Revolutionalizing Travel: A VacAI Update
Revolutionalizing Travel: A VacAI UpdateRevolutionalizing Travel: A VacAI Update
Revolutionalizing Travel: A VacAI Update
 
Inspirational Quotes About Italy and Food
Inspirational Quotes About Italy and FoodInspirational Quotes About Italy and Food
Inspirational Quotes About Italy and Food
 

An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps

  • 1. An IT Pro Guide for Deploying and Managing SharePoint 2013 Apps Randy Williams randy.williams@avepoint.com @tweetraw
  • 3. Our Agenda Understanding 2013 Apps Provisioning Support for 2013 Apps Managing 2013 Apps Deploying Provider- hosted Apps
  • 5. #espc14@tweetraw So - what exactly is an app? • Can contain some declarative SharePoint artifacts • External app can provide UI through SharePoint IFrame or full screen • External app uses CSOM or REST (OData) to call back • No custom server-side code running on SharePoint servers An application whose interface is launched from or surfaced through SharePoint but code is executed elsewhere
  • 6. How an app runs
  • 7. #espc14@tweetraw Host web & app web • The host web is where app is added, removed, upgraded • If app contains SharePoint artifacts, a sub-web is created underneath the host web • This sub-web is called the app web • App web is only accessible using isolated domain name – https://{AppPrefix}-{ID}.{AppDomain}/path/{AppName} https://teams.contoso.com https://app-af48d482118ab1.appscontoso.com/myapp
  • 8. #espc14@tweetraw Understanding the app web url • The app prefix is defined when you configure support for SharePoint apps • The app id is an app-unique hex string automatically generated • The app domain is the DNS name you configure • The host web relative url is the portion of the url that is relative to the web application • The app name is set by the developer https://<app prefix>–<app id>.<app domain>/<host web relative url>/<app name> https://app-af48d482118ab1.appscontoso.com/sites/projects/foo/myapp
  • 9. #espc14@tweetraw App principal • A 2013 app uses a new security principal called, app principal • The developer sets the permissions the app will need • Permissions are delegated to app principal when app is provisioned If user does not have the permissions the app needs, it cannot be provisioned
  • 10. #espc14@tweetraw App policies The developer sets the app permission policy in the app manifest <AppPermissionRequests AllowAppOnlyPolicy="true|false"> Policy type Attribute value What it means User & app policy false (default) Both the user and the app must have permissions to perform an action. App only policy true Only the app needs permissions to perform an action. You must be a site collection admin to provision apps of this type. (Think of this as an elevation of privileges)
  • 11. #espc14@tweetraw App permission scope • Permissions are not inherited like user principals • Permissions are granted to one of four scopes – Tenancy (meaning all web apps if not using multi-tenancy) – Site collection – Web (meaning host web) – List (by default, all lists in host web) • App receives the requested permission to all objects contained in this scope
  • 14. #espc14@tweetraw Four steps to host apps on premises 1. Create an app tenancy 2. Configure app url settings 3. Configure redirection web app 4. Configure DNS
  • 15. #espc14@tweetraw Creating an app tenancy • Create App Management Service app – Tracks app instances, licenses, app principals • Create Subscription Settings Service app – Provides app isolation • Do not use the farm account for the app pools • The account does not need to be a local admin • Start these services on the designated server(s) 1
  • 16. Scripting the app tenancy $dbserver="sql1" $wfe="wfe1" $acct = "contosoSP.AppPool“ $subPool = New-SPServiceApplicationPool -name "SubscriptionSettingsAppPool" –account $acct $appPool = New-SPServiceApplicationPool -name "AppManagementAppPool" -account $acct $name = "App Management Service" $svc = New-SPAppManagementServiceApplication -ApplicationPool $appPool -Name $name - ` DatabaseName "AppManagement" -DatabaseServer $dbserver New-SPAppManagementServiceApplicationProxy -ServiceApplication $svc -Name "$name Proxy" $name = "Subscription Settings Service" $svc = New-SPSubscriptionSettingsServiceApplication -ApplicationPool $subPool -Name $name ` -DatabaseName "SubscriptionSettings" -DatabaseServer $dbserver New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $svc Get-SPServiceInstance | where {$_.typename -in ("App Management Service", ` "Microsoft SharePoint Foundation Subscription Settings Service") -and $_.Parent -like ` "*$wfe"} | Start-SPServiceInstance
  • 17. #espc14@tweetraw Configure app url settings • There are two settings you need to specify – App Prefix and App Domain • Security wise, it is best to have app domain be a top-level domain (e.g. appscontoso.com) • Set in Central Administration or PowerShell Set-SPAppDomain "appscontoso.com" Set-SPAppSiteSubscriptionName ` -Name "apps" -Confirm:$false 2
  • 18. #espc14@tweetraw Configure redirection web app • Create a dedicated SP web application – Make sure host header is blank – No content database needed – It is only used for “app redirection” • Bind IIS web site to a dedicated IP address • SSL strongly recommended – Use a wildcard certificate (e.g. *.appscontoso.com) – Bind certificate to this IIS web site 3
  • 19. #espc14@tweetraw Sample IIS bindings Type Host name Port IP Address SSL certificate Description https teams.contoso.com 443 10.0.0.10 teams.contoso.com Regular SP web application https portal.contoso.com 443 10.0.0.11 portal.contoso.com Regular SP web application https <blank> 443 10.0.0.12 *.appscontoso.com SharePoint web application used for app redirection
  • 20. #espc14@tweetraw Configure DNS • Create an authoritative zone for the app domain • Dynamic hostname resolution is needed, so you’ll need a wildcard “A” record – For example: *.appscontoso.com • Host (“A” record) points to the IP address for the “redirection” web app – 10.0.0.12 from previous slide 4
  • 21. DEMO Provisioning support for SharePoint 2013 apps
  • 24. #espc14@tweetraw Creating an app catalog • Two primary purposes – Manages internally-developed apps – Manage app requests • Web app can only have one app catalog – App catalog is associated with just one web app New-SPSite -Url http://teams.contoso.com/sites/AppCatalog -OwnerAlias ` "contosoadmin" -Name "Contoso App Catalog" -Template "APPCATALOG#0" Update-SPAppCatalogConfiguration -site ` http://teams.contoso.com/sites/AppCatalog
  • 25. #espc14@tweetraw Managing app requests • If users cannot directly install apps, they must request • Requests are stored in the app catalog • Add an alert to the App Requests list to be notified of new requests • Grant site collection admin on app catalog to delegate to others
  • 26. #espc14@tweetraw Managing licenses • By default, only farm admin can manage licenses • Management can be delegated out on a license-by- license basis
  • 27. #espc14@tweetraw Common questions • Who can provision apps? – Site owners (Create Sites + Manage permissions) – Provisioning user must have permissions requested by app • Can I disable the SharePoint Store? – Not completely. You can restrict whether users must request apps or not – Editing AddAnApp.aspx page is a workaround to remove the link
  • 30. #espc14@tweetraw Provider-hosted apps • Server-side code runs remotely, outside SharePoint • Each app has an app principal • For on-premises farm, you can use a S2S trust or Azure ACS (O365 tenancy) • SSL is strongly recommended for remote web • Integrated Windows auth on remote web is required if using Visual Studio helper class
  • 31. #espc14@tweetraw Configuring OAuth in SharePoint • Scenario: SPOL and on-premises app • Use AppRegNew.aspx to register app principal – Generate App Id and App Secret – For app domain, use host header of remote web – Redirect URI is optional • Configure remote web using values from AppRegNew <add key="ClientId" value="…" /> Use App Id value <add key="ClientSecret" value="…" /> use App Secret value • Add the .app package into the app catalog
  • 32. #espc14@tweetraw Configuring S2S in SharePoint • Scenario: On-premises farm and app • Create a X.509 cert – Export to .cer (without private key) – Export to .pfx (with private key) and store on remote server • Run New-SPTrustedSecurityTokenIssuer • Run Register-SPAppPrincipal • Add the .app package into the app catalog
  • 33. S2S – configuring SharePoint $certPath = "c:tempapp.cer" $spUrl = "https://teams.contoso.com" $appName = "My app name" $stsName = $appName + " STS" $issuerId = [System.Guid]::NewGuid().ToString().ToLower() $spweb = Get-SPWeb $spUrl $realm = Get-SPAuthenticationRealm -ServiceContext $spweb.Site $cert = Get-PfxCertificate $certPath New-SPTrustedRootAuthority -Name "STS cert" -Certificate $cert ` $fullAppIdentifier = $issuerId + '@' + $realm New-SPTrustedSecurityTokenIssuer -name $stsName -Certificate $cert ` -RegisteredIssuerName $fullAppIdentifier -IsTrustBroker $appPrincipal = Register-SPAppPrincipal -NameIdentifier $fullAppIdentifier ` -Site $spweb -DisplayName $appName
  • 34. #espc14@tweetraw S2S - configuring remote web • Store .pfx export of cert in a local folder • Reference cert in configuration (e.g. web.config) • For ClientId, use $issuerId value from previous script (from SharePoint) • ClientId and IssuerId can be the same <add key="ClientId" value="a63e90ea-289d-469b-8b35-c5748779c1b4" /> <add key="ClientSigningCertificatePath" value="{path}app.pfx" /> <add key="ClientSigningCertificatePassword" value="pass@word1" /> <add key="IssuerId" value=" a63e90ea-289d-469b-8b35-c5748779c1b4" />
  • 35. Quick recap Understanding 2013 Apps Provisioning Support for 2013 Apps Managing 2013 Apps Deploying Provider- hosted Apps
  • 37. #espc14@tweetraw Additional reading Topic Url App permissions bit.ly/1g3w5wB Deploying apps with PowerShell bit.ly/1ijTGsW OAuth authorization flow bit.ly/1g3wjEa App principal registration bit.ly/1j49DZ9 Package and publish high trust apps bit.ly/RmaNEh