none
SharePoint 2013 Provider Hosted App (on premise) für externen Zugriff konfigurieren RRS feed

  • Frage

  • Hallo zusammen.

    ich habe eine Infrastruktur-Frage zu SP2013 mit Provider-Hosted Apps (SP und App-Server beides on premise):

    Eine SP 2013 Provider Hosted App (on premise) soll im Internet über einen öffentlich zugänglichen SharePoint-Server zur Verfügung gestellt werden.

    Jetzt ist die Frage: muss dazu auch der App-Server, der die Provider Hosted App bereitstellt, ebenfalls öffentlich erreichbar sein, oder "routet" das der SharePoint-Server dann durch?? Aktuell vermute ich, dass der SharePoint-Server nur die Authentifizierung / Bereitstellung für die App darstellt, aber der eigentliche Aufruf danach auf den App-Server umgeleitet wird? Ist das so? Muss also bei einem solchen Szenario der App-Server ebenfalls direkt über das Internet erreichbar sein?

    Danke für eure Infos!

    Dienstag, 27. Mai 2014 12:15

Antworten

  • Hi,
    natürlich muss der Remote Server über das Internet erreichbar sein. Er liefert doch die gerenderten Inhalte für den Browser. Falls Du zusätzlich JavaScripte im Client nutzt, die auf den Remote Server zugreifen (nicht über direkt auf den SharePoint), muss der Remote Server natürlich auch erreichbar sein.

    --
    Peter

    • Als Antwort markiert Xaser512 Mittwoch, 28. Mai 2014 09:14
    Mittwoch, 28. Mai 2014 08:27

Alle Antworten

  • Hi,
    ausgehend von der Logik der Provider hosted apps muss der App-Catalog und App-Store nur dem Websitebesitzer zugänglich sein, der die App hoch lädt, installiert, aktualisiert und ggf. auch wieder deinstalliert. Wenn sich dieser "Admin" innerhalb des Intranets befindet, besteht keine Notwendigkeit, den App-Catalog auch im Internet verfügbar zu machen. Diese Trennung wurde eingeführt um cross-site-scripting zu verhindern.

    Mit der Installation der App wird eine Website angelegt, die alle zur App gehörende Information enthält (z.B. Listen), auch die Information zum Server mit dem remote code, dem der SharePoint vertraut. Beim Aufruf der App durch den Client werden vom SharePoint aus der App-Website die Daten des Remote Servers geholt und die weiteren Aufrufe auf den Remote Server "umgeleitet", der dann die eigentliche Verarbeitung außerhalb des Clients für den Client ausführt.

    Der Server mit dem App-Catalog und App-Store braucht für die Ausführung installierter Apps nicht über das Internet erreichbar zu sein. 

    Ich muss dazu aber schreiben, dass ich das noch nicht getestet habe, da ich mich in meinen Umgebungen fast ausschließlich mit Intranet-Prozessen beschäftige. Sobald sich die Möglichkeit ergibt, werde ich das aber mal testen, um ggf. vorhandene Stolperfallen zu erkennen. Vielleicht kann noch jemand zu diesem Thema beitragen. Mich würde eine Bestätigung auch interessieren.

    --
    Peter

    Mittwoch, 28. Mai 2014 07:00
  • Hallo,

    vielleicht hilft Dir den folgenden Artikel:


    How to: Set up an on-premises development environment for apps for SharePoint


    Configure an isolated app domain to create and deploy SharePoint-hosted apps

    If you want to create and deploy SharePoint-hosted apps on your SharePoint 2013 installation, you must create an isolated domain on the developer workstation where your apps for SharePoint will run. Your SharePoint 2013 installation needs a general wildcard host header domain where it can provision SharePoint-hosted apps.


    This domain should be a URL namespace that you reserve as a namespace for organizing apps. For example, if you work at a company named Contoso, and you expose an extranet web application at the customapp.contoso.com domain, you can use a similar naming scheme for the app for SharePoint domain: apps.contoso.com. If you reserve this domain as your isolated app domain, when a SharePoint-hosted app is provisioned, it has a URL that looks like this: http[s]://tenantName-abcd1234.apps.contoso.com. The string, abcd1234 is a unique identifier that is arbitrarily assigned to each app instance. This example uses an Internet-style domain name for the app domain, but that doesn't mean that you have to expose your apps for SharePoint to the Internet. For production hosting scenarios, you would still have to create a DNS routing strategy within your intranet and optionally configure your firewall. See Install and Manage Apps for SharePoint for more information about how to create and configure a production environment for apps for SharePoint.


    How To Configure SharePoint 2013 On-Premises Deployments for Apps - Routing Web Application


    Downloadable resources about apps for SharePoint


    Gruss,

    Alex


    Alex Pitulice, MICROSOFT 
    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Mittwoch, 28. Mai 2014 07:31
    Moderator
  • Hallo Peter,

    mir ist schon klar, dass der App-Catalog und der App-Store nicht über das Internet erreichbar sein muss.

    Die Frage ist: muss der (wie von dir benannt) "Remote-Server", also der Server, auf dem die eigentliche App ausgeführt wird, über das Internet erreichbar sein, wenn ein Zugriff von extern ermöglicht werden soll?

    Bisher ging es mir genau wie dir, wir haben schon einige Provider-Hosted-Apps im Einsatz, aber alle im Intranet. Somit haben wir unsere App-Server natürlich nur im Intranet zugänglich.

    Aber ich vermute eben, dass die "Umleitung" vom SharePoint nämlich genau das ist: eine Umleitung auf den Remote-Server, mit einem Token bzgl. SharePoint Authentifizierung.

    So wie ich das verstanden habe, wird beim Aufruf einer App im SharePoint die Authentifizierung durchgeführt und dann wird ein Token generiert, dass dann bei der Umleitung an den Remote-Server übergeben wird. Die Remote-App kann dann auswerten, was im SharePoint-Token steht, selbst eine SharePoint-Kontext erzeugen etc.

    Aber bei externem Zugriff vermute ich eben, dass der Remote-Server ebenfalls über das Internet erreichbar sein muss!!???

    Kann das jemand bestätigen???

    ---

    Xaser512

    Mittwoch, 28. Mai 2014 08:18
  • Alex, danke für die Infos.

    Hier finde ich nur Informationen, wie eine Entwicklungsumgebung zum Deployment von SharePoint-Apps eingerichtet werden muss. Die Seiten kenne ich schon gut, weil das eigentliche Entwickeln von Apps (auch on premise) bereits mehrfach erfolgreich durchgeführt worden ist von uns, allerdings immer nur im Intranet.

    Dort habe ich nichts gefunden, wenn alles on premise ist (also SharePoint und Remote-App-Server), aber ein Zugriff aus dem Internet ermöglich werden soll.

    Das ist die Frage: muss der Remote-Server ebenfalls über das Internet erreichbar sein, oder nur der SharePoint-Server???




    • Bearbeitet Xaser512 Mittwoch, 28. Mai 2014 08:23
    Mittwoch, 28. Mai 2014 08:22
  • Hi,
    natürlich muss der Remote Server über das Internet erreichbar sein. Er liefert doch die gerenderten Inhalte für den Browser. Falls Du zusätzlich JavaScripte im Client nutzt, die auf den Remote Server zugreifen (nicht über direkt auf den SharePoint), muss der Remote Server natürlich auch erreichbar sein.

    --
    Peter

    • Als Antwort markiert Xaser512 Mittwoch, 28. Mai 2014 09:14
    Mittwoch, 28. Mai 2014 08:27
  • Ja, das ist in jedem Fall erforderlich!
    Mittwoch, 28. Mai 2014 08:28
  • Danke, Peter, das sehe ich auch so, war aber nicht sicher!
    Mittwoch, 28. Mai 2014 09:15