...
...
A central feature of the SharePoint Online connector is the SharePoint Online microservice.
...
This microservice integrates with Azure and
...
manages the inventory and
...
synchronization of SharePoint user, group, site collection,
...
web,
...
role, and user profile information between Azure and EmpowerID.
...
import | https://docs.empowerid.com/homepage.css |
---|
...
...
The microservice is required to manage SharePoint in EmpowerID.
Note |
---|
Prerequisite: To use the SharePoint Online connector, you need to deploy the EmpowerID Azure SCIM microservice to one tenant. |
Warning |
---|
If you are self-hosting EmpowerID (not using EmpowerID SaaS), you need to follow the procedures to configure all of the Azure components listed in both the Configuration of SharePoint Online Inventory - Not Required for EmpowerID SaaS and Deploying the SharePoint Online Microservice topics. |
...
Getting Started
...
...
The following articles provide detailed guidance on deploying and configuring this microservice.
Macrosuite divider macro |
---|
dividerWidth | 80 |
---|
dividerType | text |
---|
emoji | {"id":"smile","name":"Smiling Face with Open Mouth and Smiling Eyes","short_names":["smile"],"colons":":smile:","emoticons":["C:","c:",":D",":-D"],"unified":"1f604","skin":null,"native":"😄"} |
---|
isEditingIconOrEmoji | false |
---|
textColor | #000000 |
---|
advancedOptionsOpen | false |
---|
dividerWeight | 3 |
---|
labelPosition | middle |
---|
textAlignment | center |
---|
iconColor | #0052CC |
---|
iconSize | 30 |
---|
fontSize | medium |
---|
text | Getting started |
---|
emojiEnabled | false |
---|
dividerIcon | font-awesome/FlagCheckered |
---|
dividerColor | #DFE1E6 |
---|
|
Easy html macro |
---|
theme | {"label":"solarized_dark","value":"solarized_dark"} |
---|
contentByMode | {"html":"<!doctype html>\r\n<meta http-equiv=\"Content-Security-Policy\" content=\"default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; object-src 'self' blob:; style-src 'self'; frame-src 'self'\">\r\n<link href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css\" rel=\"stylesheet\" integrity=\"sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC\" crossorigin=\"anonymous\">\r\n<link href=\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css\" rel=\"stylesheet\" type=\"text/css\" />\r\n<script src=\"https://kit.fontawesome.com/59759af5bf.js\" crossorigin=\"anonymous\"></script>\r\n<link href=\"https://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic\" rel=\"stylesheet\" type=\"text/css\" />\r\n<link href=\"https://docs.empowerid.com/new_docs.css\" rel=\"stylesheet\">\r\n<link href=\"https://docs.empowerid.com/assets/css/aguidehp22.css\" rel=\"stylesheet\">\r\n\r\n<meta charset=\"utf-8\" />\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no, overflow-y=scroll\" />\r\n<style>\r\nbody{\r\n overflow-y: hidden;\r\n}\r\n a{color: #212529;\r\n text-decoration:none;\r\n }\r\n a:hover{\r\n color: #212529;\r\n }\r\n header.masthead{\r\n margin-top:20px;\r\n }\r\n \r\n #mainNav{\r\n margin-top: 20px;\r\n }\r\n .card {\r\n border-left: 4px solid #3085c9;\r\n height: 120%;\r\n }\r\n .card:hover{\r\n border-left: 4px solid #00b2ca;\r\n box-shadow: 0 0 10px 0 rgba(100, 100, 100, 0.26);\r\n }\r\n .card-title{\r\n padding-top: 20px;\r\n }\r\n .row-gap{\r\n padding: 1rem;\r\n }\r\n .first-row{\r\n padding-top: 1rem;\r\n }\r\n }\r\n</style>\r\n<body id=\"page-top\">\r\n<div class=\"container-fluid\">\r\n <!-- Row 1 -->\r\n <div class=\"row d-flex align-items-stretch first-row\">\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 |
---|
|
...
Div |
---|
|
Image Removed |
...
row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/wiki/spaces/EAGV24R2/pages/3390546862/Register+Service+Principal+for+App+Service+Authentication\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">Register Service Principal for App Service Auth</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 |
|
...
Div |
---|
|
Image Removed |
Div |
---|
|
Create App Service Create App Service |
...
row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/wiki/spaces/EAGV24R2/pages/3390547062/Register+Service+Principal+with+SharePoint+API+Permissions\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">Register Service Principal with API Permissions</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/wiki/spaces/EAGV24R2/pages/3390547102/Create+an+App+Service+for+the+SharePoint+Online+Microservice\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">Create an App Service</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 |
|
...
Div |
---|
|
Image Removed |
Div |
---|
|
Create a key vault Create key vault |
...
row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/wiki/spaces/EAGV24R2/pages/3390547212/Create+a+key+vault\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">Create a Key Vault</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n \r\n <!-- Row 2 -->\r\n <div class=\"row d-flex align-items-stretch first-row\">\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 |
|
...
Div |
---|
|
Image Removed |
Div |
---|
|
Create Cosmos DB Create Cosmos DB |
...
...
row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/wiki/spaces/EAGV24R2/pages/3390547277/Provision+a+Cosmos+DB+Account+for+SharePoint+Online\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">Provision Cosmos DB Account</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/wiki/spaces/EAGV24R2/pages/3390547350/Create+a+Function+app+to+Update+User+Profiles\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">Create Function App to Update User Profiles</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 |
|
...
Div |
---|
|
Image Removed |
Div |
---|
|
Configure App Service App Settings Configure App Service App Settings |
...
row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/wiki/spaces/EAGV24R2/pages/3390547535/Add+Application+Settings+to+the+App+Service\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">Configure App Service Settings</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 |
|
...
Div |
---|
|
Image Removed |
Div |
---|
|
Add secret to EmpowerID key vault Add secret to EmpowerID key vault |
...
row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/wiki/spaces/EAGV24R2/pages/3390547571/Add+Secret+to+Key+Vault+in+EmpowerID+Tenant\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">Add Secret to Key Vault</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n \r\n <!-- Row 3 -->\r\n <div class=\"row d-flex align-items-stretch first-row\">\r\n <div class=\"col-sm-12 col-md-6 col-lg-3 |
|
...
Div |
---|
|
Image Removed |
...
Publish the Microservice to Azure
...
row-gap\">\r\n <a href=\"https://dotnetworkflow.jira.com/wiki/spaces/EAGV24R2/pages/3390547598/Publish+the+SharePoint+Online+Microservice+to+Azure\">\r\n <div class=\"card d-flex align-items-center\">\r\n <div class=\"card-body text-center\">\r\n <h4 class=\"card-title\">Publish the Microservice</h4>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n \r\n \r\n </div>\r\n\r\n </section>\r\n \r\n \r\n <!-- Footer-->\r\n <footer class=\"footer py-4\">\r\n <div class=\"container\">\r\n <!--<div class=\"row align-items-center\">\r\n <div class=\"col-lg-4 \">Copyright © EmpowerID 2023</div>\r\n <div class=\"col-lg-4 my-3 my-lg-0\">\r\n <a class=\"btn btn-dark btn-social mx-2\" href=\"https://www.twitter.com/empowerid\" target=\"_self\" rel=\"noopener noreferrer\"><i class=\"fab fa-twitter\"></i></a>\r\n <a class=\"btn btn-dark btn-social mx-2\" href=\"https://www.facebook.com/EmpowerID/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\"><i class=\"fab fa-facebook-f\"></i></a>\r\n <a class=\"btn btn-dark btn-social mx-2\" href=\"https://www.linkedin.com/company/empowerid?trk=public_profile_topcard-current-company\" target=\"_blank\" rel=\"noopener noreferrer nofollow\"><i class=\"fab fa-linkedin-in\"></i></a>\r\n </div>\r\n </div>-->\r\n </div>\r\n </footer>\r\n \r\n <!-- Bootstrap core JS-->\r\n <script src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js\"></script>\r\n \r\n </body>","javascript":"window.addEventListener('DOMContentLoaded', event => {\r\n\r\n // Navbar shrink function\r\n var navbarShrink = function () {\r\n const navbarCollapsible = document.body.querySelector('#mainNav');\r\n if (!navbarCollapsible) {\r\n return;\r\n }\r\n if (window.scrollY === 0) {\r\n navbarCollapsible.classList.remove('navbar-shrink')\r\n } else {\r\n navbarCollapsible.classList.add('navbar-shrink')\r\n }\r\n\r\n };\r\n\r\n // Shrink the navbar \r\n navbarShrink();\r\n\r\n // Shrink the navbar when page is scrolled\r\n document.addEventListener('scroll', navbarShrink);\r\n\r\n // Activate Bootstrap scrollspy on the main nav element\r\n const mainNav = document.body.querySelector('#mainNav');\r\n if (mainNav) {\r\n new bootstrap.ScrollSpy(document.body, {\r\n target: '#mainNav',\r\n offset: 74,\r\n });\r\n };\r\n\r\n // Collapse responsive navbar when toggler is visible\r\n const navbarToggler = document.body.querySelector('.navbar-toggler');\r\n const responsiveNavItems = [].slice.call(\r\n document.querySelectorAll('#navbarResponsive .nav-link')\r\n );\r\n responsiveNavItems.map(function (responsiveNavItem) {\r\n responsiveNavItem.addEventListener('click', () => {\r\n if (window.getComputedStyle(navbarToggler).display !== 'none') {\r\n navbarToggler.click();\r\n }\r\n });\r\n });\r\n\r\n});\r\n","css":""} |
|
|