Skip to Content

Microsoft SharePoint OAuth Connection Guide

Prerequisites

  • You must be on Vinyl version 3.3 or later
  • You must have a Microsoft Azure account

Create an OAuth Security Provider

Here you will create an OAuth security provider in Vinyl.

  1. Navigate to the Security Providers section from the IDE, and create a new security provider using the + Data Source Authentication button
  2. Provide the following details:

    • Name - Identifies the Security Provider and appears in the URL. Example: OAuth
    • Type - OAuth
    • Enabled - check to enable this security provider
    • OAuth Grant - Authorization Code
    • OAuth Client Authentication - Basic
    • OAuth Resource Authentication - Bearer
    • Redirect on Challenge - True
  3. Click Save

Create Microsoft Azure App Registration

Next you will register an app in Microsoft Azure and further configure the OAuth security provider in Vinyl.

  1. Navigate to portal.azure.com and login
  2. Click on Microsoft Entra ID

    entraid.png

  3. Navigate to App registrations

  4. Click New registration
  5. Assign an App Name. Example: OAuth
  6. In the Redirect URI (Optional) section:

    • Select Web from the Select a platform list
    • Enter the URI for the security provider on the Vinyl instance. The format of the redirect URL should be https://<Vinyl-Instance>/signin-<Security-Provider-Name>.

    redirecturi.png

  7. Click Register

  8. Click API permissions
  9. Click Add a permission
  10. Click the SharePoint tile
  11. Select the Delegated permissions option
  12. Expand AllSites
  13. Check to enable the following permissions:

    • AllSites Manage
    • AllSites Read
    • AllSites Write
  14. Exand Project under permissions

  15. Check to enable ProjectRead and ProjectWrite
  16. Click the Add Permissions button
  17. Click Overview
  18. Click the Endpoints tab

    • The Endpoints screen contains values needed during the security provider Endpoints configuration in Vinyl

    endpointconfig_copy.png

  19. Click Add a certificate or secret under Client credentials

  20. Click + New client secret
  21. Enter a Description
  22. Select an expiration date
  23. Click the Add button

    • The Client secret Value will be needed for Credential configuration in Vinyl
  24. Navigate back to the provider detail in Vinyl

  25. Click + Endpoints on the Enpoints panel and configure the following endpoints:

    • Authorization Endpoint: https://login.microsoft.com/<Directory ID>/oauth2/v2.0/authorize/
    • Token Endpoint: https://login.microsoft.com/<Directory ID>/oauth2/v2.0/token/
  26. Click + Credential:

    • Type - Client
    • User Name - Application (client) ID from Microsoft Azure
    • Password - Client secret Value from Microsoft Azure
  27. Click Save and exit the popup

  28. Click + Property from the Properties panel
  29. Enter the URL in the Value field. The value for the URL should be https://<companyname>.sharepoint.com/.default offline_access
  30. Click Save
  31. Close the popup

vinylconfig.png

Create a Microsoft SharePoint Datasource

Lastly you will create a Microsoft SharePoint datasource in Vinyl and import the SharePoint data.

  1. Navigate to the IDE
  2. Click Data Servers
  3. Click the + Server button
  4. Enter a name in the Server Name field. Example: SharePoint
  5. Select Microsoft SharePoint from the Type list
  6. In the Url field, enter the full path to the company SharePoint directory you're accessing. The format of the URL should be https://<companyname>.sharepoint.com/sites/<directory>

    dataserver.png

  7. Expand Security Settings

  8. Select the OAuth security provider configured from the Security Provider list
  9. Click Save
  10. Close the popup
  11. Click Details in the right panel
  12. Click the Import button
  13. Follow the OAuth Flow
  14. Click Views tab
  15. Click the Import Schema button on the schema you are looking to import. Example: Lists
  16. Navigate to the IDE
  17. Click Data Servers
  18. Click Details in the right panel
  19. Click the Logic button
  20. Click Results icon for the imported content to confirm the data