Provides user and group enumeration on top of pas.plugins.authomatic
Provides user and group enumeration on top of pas.plugins.authomatic
Features
This addon depends on pas.plugins.authomatic. Upon installation, it will automatically run the setup step for pas.plugins.authomatic.
In order for this plugin to function correctly, the Entra ID application should be granted the following API permissions in the Microsoft.Graph scope via the Azure Portal:
The type for all the permissions is Application and “Admin consent” must be granted.
Install pas.plugins.eea by adding it to your buildout:
::
[buildout]
...
- eggs =
- pas.plugins.eea
and then running bin/buildout
After enabling the product in Site Setup -> Add-ons, make sure to:
go into Site Setup -> Authomatic (OAuth2/OpenID) and make sure that “Generator for Plone User IDs.” is set to UUID as User ID**.
update the JSON configuration
make sure to add the following to the JSON configuration (for working sync)
"sync_propertymap": {
"id": "id",
"mail": "email",
"country": "location",
"displayName": "fullname",
"userPrincipalName": "email",
"userType": null
},
Disable the following functionalities in acl_users:
In acl_users -> plugins -> Properties Plugins make sure that eea_entra is at the top of the list of “Active Plugins”.
A script is provided to sync users and groups from Entra ID. The script is located in pas/plugins/eea/scripts/sync.py and registered in setup.py as a console script.
It can be called from the command line like this:
sync_eea_entra --portal PLONE_PORTAL_ID --zope-conf /path/to/zope.conf
The script initializes itself the same way zconsole run would. It cannot be called with zconsole run as that command does not pass on script arguments, so there is no way to specify the portal id.
The project is licensed under the GPLv2.