If you are new to SharePoint Add-in. then you can check this article for more information.
SharePoint Provider Hosted Add-ins contains components that are deployed and hosted outside SharePoint farm. Here we will discuss how we can host in Microsoft Azure.
Follow the below steps:
Open visual studio 2015 and then File -> New Project. Then in the New Project dialog box, choose Templates -> Visual C# -> Office/SharePoint and from there choose App for SharePoint like below. Give a name and make sure .Net Framework version should be chosen 4.5.
Then choose a SharePoint developer site and then choose Provider-hosted like below. You can see below article to know how we can create a developer site in SharePoint.
Then it will ask to give credentials for the developer site and then it will automatically select the SharePoint version like below:
Then in the web project type, select whether you want to create an ASP.NET web Forms Application or ASP.NET MVC Web Application like below. Here we will choose ASP.NET MVC Web Application.
Then choose “Use Windows Azure Access Control Service (for SharePoint cloud apps)” in the Configure authentication settings like below:
Visual studio will take some time and will create two projects one (Add-in and another one is the ASP.NET MVC Web project) like below.
Here we are not modifying the default code which is displaying the current username (presented in HomeController.cs file).
Now we will try to publish the provider hosted-add-in to Microsoft Azure.
Right click on the Web project and click on Publish like below:
This will open the Publish Web dialog box which looks like below:
Here we will use the “Microsoft Azure Web Apps” option to deploy the project to Azure.
Before proceeding further we need to create a website in Microsoft Azure. You can follow the below article for the same.
– Steps to create a website in Microsoft Azure for SharePoint Online
Once the website is ready to follow the below step.
Open the _layouts/15/appregnew.aspx url in the developer site.
There click on the Generate button for the Client Id and Client Secret fields. Then give a title and Domain put the website which we have created in Azure (without https://). And the Redirect URI put the website URL, make sure to give in https:
Here the page looks like below:
Then open the web.config file and replace the ClientId and ClientSecret which we have generated in the above page.
It looks like below:
Now right click on the web project and click on Publish. Then choose the Microsoft Azure Web Apps option like below:
Then click on OK.
Then login to your Azure account, Once you log in, it will populate all the existing web apps. Choose the one which we have created in the above step. Here also you can directly create a web app if you have not created before.
This will open the below screen. Give the destination URL as https://enjoysharepoint.azurewebsites.net as shown like below:
Click on Next.
Then click on Next and finally click on Publish like below:
It will take some time to publish.
Once it is successfully deployed, Now right click on the Addin project like below:
Here click on the Edit button
Here in the Web Deploy dialog box give the client id and client secret like below:
For the safe side click on the Deploy your web project button. Now once it is deployed successfully, click on the Package the app button which is presented below:
This will show the URL and ClientId, here click on Finish button which will generate the app file.
Now we can upload the .app file into the app catalog site or in the developer site. The .app file will get generated in the below location.
C:\Users\<username>\Documents\visual studio 2015\Projects\OurDemoPoviderHostedAddin\OurDemoPoviderHostedAddin\bin\Debug\app.publish\184.108.40.206
Here I have uploaded to the Apps in Testing library in my developer site.
Once it is installed successfully when you click on the app, the Azure site will open and it will display the username like below.
Hope this will be helpful.
SharePoint Online FREE Training
JOIN a FREE SharePoint Video Course (3 Part Video Series)