App Development mit SharePoint 2016

Nachdem nun die Preview zu SharePoint2016 erschienen ist, mache ich mich gleich daran App zu entwickeln. Wie schon in der letzten Version kann man nicht gleich loslegen, sondern muss zuerst die Farm vorbereiten.

Für meinen ersten Test habe ich beim Setup eine “Single-Server-Farm” gewählt. In der Übersicht “Servers in Farm” ist zu sehen, dass die  Dienste “App Management Service”, “Foundation Subscription Settings Service” und “User Profile Service” bereits laufen:

image

Möchte man nun die App URLs konfigurieren kommt die Fehlermeldung: “The Subscription Settings service and corresponding application and proxy needs to be running in order to make changes to these settings. “

image

Um das Subscription Setting Service und den Proxy dazu anzulegen, verwende ich folgendes Powershell Script:

1 $account = Get-SPManagedAccount "AD\SP_APP" 2 3 $appPoolSubSvc = New-SPServiceApplicationPool -Name "SettingServiceAppPool" -Account $account 4 $appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name "SettingsServiceApp" –DatabaseName "SettingsServiceDB" 5 $proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $appSubSvc 6

 

DNS-Konfiguration

Nun muss im DNS eine Forward-Lookup zone eingetragen Diese wird in der Centraladministration als App-Domain eingetragen. In dieser Zone ist ein Wildcard-Alias anzulegen der auf den SharePoint-Server zeigt.

image

Nun kann in der Zentraladministration “sp16apps.grobl.local” als App-Domain eingetragen werden. Das AppPrefix kann beliebig gewählt werden.

image

Einfache SharePoint-hosted Apps können nun entwickelt werden.

Provider Hosted

Provider Hosted, oder auch High Trust Apps werden mit Zertifikaten abgesichert. Daher müssen wir ein Zertifikat ausstellen. Das kann auch ein Selbssigniertes sein.  Das Zertifikat (die .cer-Datei) wird im SharePoint Server eingespielt. Der Private-Key (.pfx-Datei) muss dann bei dem App-Projekt angegeben werden.

Einspielen am Sharepoint2016

mit folgendem PS-Script kann das Zertifikat am SharePoint Server eingespielt werden:

1 $publicCertPath = "C:\certificates\sp16apps.cer" 2 $issuerId = [GUID]"00000000-0000-0000-0000-000000000000" 3 $spurl = "http://sp16" 4 $spweb = Get-SPWeb $spurl 5 $realm = Get-SPAuthenticationRealm -ServiceContext $spweb.Site 6 $certificate = Get-PfxCertificate $publicCertPath 7 New-SPTrustedRootAuthority -Name "sp16Apps" -Certificate $certificate 8 $fullIssuerIdentifier = $issuerId.ToString() + "@" +$realm 9 New-SPTrustedSecurityTokenIssuer -Name $issuerId -Certificate $certificate -RegisteredIssuerName $fullIssuerIdentifier -IsTrustBroker 10 11

Da der issuer-ID beim Anlegen eine SP APP Projektes abgefragt wird, habe ich einen gewählt der leicht zu merken ist. Im Produktivumfeld ist hier ein neuer GUID zu erstellen.

Da ich die Apps nur in einer http und nicht https-Umgebung entwickle, muss die SP Farm noch konfiguriert werden um OAuth über http zuzulassen:

1 $serviceConfig = Get-SPSecurityTokenServiceConfig 2 $serviceConfig.AllowOAuthOverHttp = $true 3 $serviceConfig.Update()

Das Visual Studio Projekt

Nun können wir beginnen, im VS Apps für SharePoint zu entwickeln. Bei der Anlage des Projektes müssen wir die “Authentication Settings” konfigurieren. An dieser Stelle ist der Private Key und der Issuer ID anzugeben:

image

Kommentare sind geschlossen