Introduction, purpose, objective

Submitted by Erik Wegner on

This tutorial describes how to run a Node.JS app that is accessing a SharePoint server on premise. The app uses the new SharePoint 2013 app model to talk to the SharePoint server locally without the Office Store.

Why do you want to run a provider hosted app in your own data centre? Because

  • you do not trust a public cloud in terms of security and privacy.
  • you do not want to make your SharePoint available on the internet.

I am going to write about a scenario called High Trust App. The SharePoint server and the application server are not publicy available but are using your on premise infrastructure.

The MSDN tells you how to create such an app. But it is limited to the world of Microsoft and C#.

Besides the .net-universe there is only this blog post. It gives a deeper insight how to implement the server2server protocol. For real world usage, some puzzle pieces are missing there. This tutorial wants to fill the gap.

This tutorial will not show you how to authenticate a user, but focuses on an understandable example. This is the main difference towards a low trust app that leverages Azure ACS Services for authentication. A High Trust App has to do this on its own. I. e. you still have to trust the app vendor, as it was already before with the older farm solutions.

You can find all files within the repository on GitHub: https://github.com/ErikWegner/hightrust-sharepoint-node.js