page_type | products | languages | extensions | description | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sample |
|
|
|
Learn how to create a simple license management system to manage Add-ins sold in Microsoft AppSource. |
This code sample demonstrates how Microsoft ISVs can create a simple license management system to manage Add-ins sold in Microsoft AppSource. This code sample package includes a Microsoft AppSource mock web app, a SaaS sample, a SharePoint Framework (SPFx) add-in, Outlook, Word, Excel, and PowerPoint Add-ins, and a licensing management tool.
Follow the instructions in the deployment guides to install and configure the sample.
- Sample deployment guide
- SPFx deployment guide
- Add-ins deployment guides:
Follow the instructions in the test guide to test the different use cases.
This section links to the various README files associated with the projects included in the sample. Read the README files for more information about each project.
- AppSourceMockWebApp
- Microsoft.Identity.Web
- MockAppData
- OutlookAddIn
- OutlookAddInWeb
- WordAddIn
- WordAddInWeb
- ExcelAddIn
- ExcelAddInWeb
- PowerPointAddIn
- PowerPointAddInWeb
- ProviderHostedAddIn
- ProviderHostedAddInWeb
- SharePointHostedAddIn
- SaaSSampleWebApi
- SaaSSampleWebApp
- SPFx
This matrix describes the UI actions and how they correlate to different API calls.
A Provider-Hosted SharePoint Add-in cannot target a .NETCORE web project. In this sample, the Provider-Hosted SharePoint Add-in web project targets a .NET Framework project.
In all of the other Add-ins in this sample, we get the OfferID from the SaaSOfferMockData project. However, the SaaSOfferMockData project is a .NETCORE project. Therefore, we cannot reference it in the Provider-Hosted SharePoint Add-in project. Additionally, we cannot reference it in the SharePoint-Hosted Add-in project, because we use JavaScript to query license status.
To work around this technical limitation, the OfferID is hardcoded in the AzureADAuthController.cs class in the Provider-Hosted Add-in, and it is hardcoded in the app.js file in the SharePoint-Hosted Add-in.
Copyright (c) 2020 Microsoft Corporation. All rights reserved.