<div class="gfmr-markdown-container"><div class="gfmr-markdown-source" style="display: none;"># Microsoft Entra Configuration Using Built-in Microsoft Provider
Following https://www.keycloak.org/docs/26.5.2/server_admin/index.html#_microsoft
## In Microsoft Entra
From https://entra.microsoft.com/ perform the following steps.
1. Copy or save the Tenant ID
2. Visit "App registrations"
3. Click "New registration"
4. Set "Name" to `Philanthropy Data Commons`
5. Set "Who can use this application or access this API?" to "Accounts in this
organizational directory only (Default Directory only – Single tenant)"
6. Click "Register"
7. Click "Certificates & secrets"
8. Under "Client secrets" click "New client secret"
9. Set "Description" to `PDC delegated authentication`
10. Set "Expires" to "730 days (24 months)"
11. Click "Add"
12. Copy or save the secret Value and Secret ID
13. Send Tenant ID, Application (client) ID, and secret Value to the PDC admin
Grant permission to PDC Keycloak to read user data from Microsoft.
1. Under "Manage" click "API Permissions"
2. Under "Microsoft Graph" to the right of "User.Read" click the ellipsis "…"
3. Under "Configured Permissions" click "Add a permission"
4. Click "Microsoft Graph"
5. Click "Delegated permissions"
6. Check "email", "openid", and "profile"
7. Click "Add permissions"
8. Click "Grant admin consent for Default Directory"
Restrict PDC access to specific users (or groups)
Following https://learn.microsoft.com/en-us/entra/identity-platform/howto-restrict-your-app-to-a-set-of-users
1. Click "Enterprise Apps" in the leftmost menu
2. Click "Philanthropy Data Commons" (this context differs from the above)
3. Under "Manage" click "Properties"
4. Set "Assignment required?" to "Yes"
5. Click "Save" (above the properties)
6. Under "Manage" click "Users and groups"
7. Click "Add user/group"
8. Under "Users" click "None Selected"
9. Check the users that should have access to PDC
10. Click "Select"
11. Click "Assign"
If your subscription permits, you may instead (of steps 8-9) create a PDC group,
assign users to that group, and then assign the group to the App.
## In Keycloak
1. Visit the Keycloak admin console
2. In the PDC realm, visit "Identity providers"
3. Click "Add provider"
4. Under "Social", click "Microsoft"
5. Set "Alias" to include the short name of the organization and `client`, for
example `myfoundation-microsoft-entra-client`
6. Set the display name to include the full name of the organization, for
example `My Foundation Microsoft Entra Client`
7. Set the "Client ID" to the value provided by the Entra admin (a UUID)
8. Set the "Client Secret" to the value provided by the Entra admin
9. Set "Prompt" to `login`
10. Set Tenant ID to the value provided by the Entra admin (a UUID)
11. Click "Add"
Under the newly created Identity provider,
1. Set "Scopes" to `openid profile email`
2. Set "Hide on login page" to "On"
3. Set "Show in Account console" to "When linked"
4. Set "Sync mode" to "Import"
5. Click "Save"
6. Copy or save the "Redirect URI" value
7. Send the Redirect URI to the Entra admin
Link the Organization to the newly created Identity provider:
1. Visit "Organizations"
2. Open the organization
3. Click the "Identity Providers" tab
4. Click "Link identity provider"
5. Select the IdP (created above) from the "Identity provider" dropdown menu
6. Select the organization's domain name from the "Domain" dropdown menu
7. Keep "Hide on login page" set to `On`
8. Set "Redirect when email domain matches" to `On`
9. Click "Save".
## In Microsoft Entra again
1. Visit "App registrations"
2. Click the "All applications" tab
3. Click "Philanthropy Data Commons"
4. Under "Redirect URIs" click "Add a Redirect URI"
5. Click "Add Redirect URI"
6. Click "Web"
7. Set "Redirect URI" to the value sent by the PDC admin
8. Ensure the "Implicit grant and hybrid flows" items are unchecked
9. Click "Configure"
[Test the integration](../organization_idp_integration#to-test-an-integration)
</div><div class="gfmr-markdown-rendered" data-mermaid-bg-color="transparent" data-shiki-theme="github-dark"><h1>Microsoft Entra Configuration Using Built-in Microsoft Provider</h1>
<p>Following <a href="https://www.keycloak.org/docs/26.5.2/server_admin/index.html#_microsoft">https://www.keycloak.org/docs/26.5.2/server_admin/index.html#_microsoft</a></p>
<h2>In Microsoft Entra</h2>
<p>From <a href="https://entra.microsoft.com/">https://entra.microsoft.com/</a> perform the following steps.</p>
<ol>
<li>Copy or save the Tenant ID</li>
<li>Visit “App registrations”</li>
<li>Click “New registration”</li>
<li>Set “Name” to <code>Philanthropy Data Commons</code></li>
<li>Set “Who can use this application or access this API?” to “Accounts in this<br>
organizational directory only (Default Directory only – Single tenant)”</li>
<li>Click “Register”</li>
<li>Click “Certificates & secrets”</li>
<li>Under “Client secrets” click “New client secret”</li>
<li>Set “Description” to <code>PDC delegated authentication</code></li>
<li>Set “Expires” to “730 days (24 months)”</li>
<li>Click “Add”</li>
<li>Copy or save the secret Value and Secret ID</li>
<li>Send Tenant ID, Application (client) ID, and secret Value to the PDC admin</li>
</ol>
<p>Grant permission to PDC Keycloak to read user data from Microsoft.</p>
<ol>
<li>Under “Manage” click “API Permissions”</li>
<li>Under “Microsoft Graph” to the right of “User.Read” click the ellipsis “…”</li>
<li>Under “Configured Permissions” click “Add a permission”</li>
<li>Click “Microsoft Graph”</li>
<li>Click “Delegated permissions”</li>
<li>Check “email”, “openid”, and “profile”</li>
<li>Click “Add permissions”</li>
<li>Click “Grant admin consent for Default Directory”</li>
</ol>
<p>Restrict PDC access to specific users (or groups)</p>
<p>Following <a href="https://learn.microsoft.com/en-us/entra/identity-platform/howto-restrict-your-app-to-a-set-of-users">https://learn.microsoft.com/en-us/entra/identity-platform/howto-restrict-your-app-to-a-set-of-users</a></p>
<ol>
<li>Click “Enterprise Apps” in the leftmost menu</li>
<li>Click “Philanthropy Data Commons” (this context differs from the above)</li>
<li>Under “Manage” click “Properties”</li>
<li>Set “Assignment required?” to “Yes”</li>
<li>Click “Save” (above the properties)</li>
<li>Under “Manage” click “Users and groups”</li>
<li>Click “Add user/group”</li>
<li>Under “Users” click “None Selected”</li>
<li>Check the users that should have access to PDC</li>
<li>Click “Select”</li>
<li>Click “Assign”</li>
</ol>
<p>If your subscription permits, you may instead (of steps 8-9) create a PDC group,<br>
assign users to that group, and then assign the group to the App.</p>
<h2>In Keycloak</h2>
<ol>
<li>Visit the Keycloak admin console</li>
<li>In the PDC realm, visit “Identity providers”</li>
<li>Click “Add provider”</li>
<li>Under “Social”, click “Microsoft”</li>
<li>Set “Alias” to include the short name of the organization and <code>client</code>, for<br>
example <code>myfoundation-microsoft-entra-client</code></li>
<li>Set the display name to include the full name of the organization, for<br>
example <code>My Foundation Microsoft Entra Client</code></li>
<li>Set the “Client ID” to the value provided by the Entra admin (a UUID)</li>
<li>Set the “Client Secret” to the value provided by the Entra admin</li>
<li>Set “Prompt” to <code>login</code></li>
<li>Set Tenant ID to the value provided by the Entra admin (a UUID)</li>
<li>Click “Add”</li>
</ol>
<p>Under the newly created Identity provider,</p>
<ol>
<li>Set “Scopes” to <code>openid profile email</code></li>
<li>Set “Hide on login page” to “On”</li>
<li>Set “Show in Account console” to “When linked”</li>
<li>Set “Sync mode” to “Import”</li>
<li>Click “Save”</li>
<li>Copy or save the “Redirect URI” value</li>
<li>Send the Redirect URI to the Entra admin</li>
</ol>
<p>Link the Organization to the newly created Identity provider:</p>
<ol>
<li>Visit “Organizations”</li>
<li>Open the organization</li>
<li>Click the “Identity Providers” tab</li>
<li>Click “Link identity provider”</li>
<li>Select the IdP (created above) from the “Identity provider” dropdown menu</li>
<li>Select the organization’s domain name from the “Domain” dropdown menu</li>
<li>Keep “Hide on login page” set to <code>On</code></li>
<li>Set “Redirect when email domain matches” to <code>On</code></li>
<li>Click “Save”.</li>
</ol>
<h2>In Microsoft Entra again</h2>
<ol>
<li>Visit “App registrations”</li>
<li>Click the “All applications” tab</li>
<li>Click “Philanthropy Data Commons”</li>
<li>Under “Redirect URIs” click “Add a Redirect URI”</li>
<li>Click “Add Redirect URI”</li>
<li>Click “Web”</li>
<li>Set “Redirect URI” to the value sent by the PDC admin</li>
<li>Ensure the “Implicit grant and hybrid flows” items are unchecked</li>
<li>Click “Configure”</li>
</ol>
<p><a href="../organization_idp_integration#to-test-an-integration">Test the integration</a></p>
</div></div>
# Microsoft Entra Configuration Using Built-in Microsoft Provider
Following https://www.keycloak.org/docs/26.5.2/server_admin/index.html#_microsoft
## In Microsoft Entra
From https://entra.microsoft.com/ perform the following steps.
1. Copy or save the Tenant ID
2. Visit "App registrations"
3. Click "New registration"
4. Set "Name" to `Philanthropy Data Commons`
5. Set "Who can use this application or access this API?" to "Accounts in this
organizational directory only (Default Directory only – Single tenant)"
6. Click "Register"
7. Click "Certificates & secrets"
8. Under "Client secrets" click "New client secret"
9. Set "Description" to `PDC delegated authentication`
10. Set "Expires" to "730 days (24 months)"
11. Click "Add"
12. Copy or save the secret Value and Secret ID
13. Send Tenant ID, Application (client) ID, and secret Value to the PDC admin
Grant permission to PDC Keycloak to read user data from Microsoft.
1. Under "Manage" click "API Permissions"
2. Under "Microsoft Graph" to the right of "User.Read" click the ellipsis "…"
3. Under "Configured Permissions" click "Add a permission"
4. Click "Microsoft Graph"
5. Click "Delegated permissions"
6. Check "email", "openid", and "profile"
7. Click "Add permissions"
8. Click "Grant admin consent for Default Directory"
Restrict PDC access to specific users (or groups)
Following https://learn.microsoft.com/en-us/entra/identity-platform/howto-restrict-your-app-to-a-set-of-users
1. Click "Enterprise Apps" in the leftmost menu
2. Click "Philanthropy Data Commons" (this context differs from the above)
3. Under "Manage" click "Properties"
4. Set "Assignment required?" to "Yes"
5. Click "Save" (above the properties)
6. Under "Manage" click "Users and groups"
7. Click "Add user/group"
8. Under "Users" click "None Selected"
9. Check the users that should have access to PDC
10. Click "Select"
11. Click "Assign"
If your subscription permits, you may instead (of steps 8-9) create a PDC group,
assign users to that group, and then assign the group to the App.
## In Keycloak
1. Visit the Keycloak admin console
2. In the PDC realm, visit "Identity providers"
3. Click "Add provider"
4. Under "Social", click "Microsoft"
5. Set "Alias" to include the short name of the organization and `client`, for
example `myfoundation-microsoft-entra-client`
6. Set the display name to include the full name of the organization, for
example `My Foundation Microsoft Entra Client`
7. Set the "Client ID" to the value provided by the Entra admin (a UUID)
8. Set the "Client Secret" to the value provided by the Entra admin
9. Set "Prompt" to `login`
10. Set Tenant ID to the value provided by the Entra admin (a UUID)
11. Click "Add"
Under the newly created Identity provider,
1. Set "Scopes" to `openid profile email`
2. Set "Hide on login page" to "On"
3. Set "Show in Account console" to "When linked"
4. Set "Sync mode" to "Import"
5. Click "Save"
6. Copy or save the "Redirect URI" value
7. Send the Redirect URI to the Entra admin
Link the Organization to the newly created Identity provider:
1. Visit "Organizations"
2. Open the organization
3. Click the "Identity Providers" tab
4. Click "Link identity provider"
5. Select the IdP (created above) from the "Identity provider" dropdown menu
6. Select the organization's domain name from the "Domain" dropdown menu
7. Keep "Hide on login page" set to `On`
8. Set "Redirect when email domain matches" to `On`
9. Click "Save".
## In Microsoft Entra again
1. Visit "App registrations"
2. Click the "All applications" tab
3. Click "Philanthropy Data Commons"
4. Under "Redirect URIs" click "Add a Redirect URI"
5. Click "Add Redirect URI"
6. Click "Web"
7. Set "Redirect URI" to the value sent by the PDC admin
8. Ensure the "Implicit grant and hybrid flows" items are unchecked
9. Click "Configure"
[Test the integration](../organization_idp_integration#to-test-an-integration)
Microsoft Entra Configuration Using Built-in Microsoft Provider
Following https://www.keycloak.org/docs/26.5.2/server_admin/index.html#_microsoft
In Microsoft Entra
From https://entra.microsoft.com/ perform the following steps.
- Copy or save the Tenant ID
- Visit “App registrations”
- Click “New registration”
- Set “Name” to
Philanthropy Data Commons
- Set “Who can use this application or access this API?” to “Accounts in this
organizational directory only (Default Directory only – Single tenant)”
- Click “Register”
- Click “Certificates & secrets”
- Under “Client secrets” click “New client secret”
- Set “Description” to
PDC delegated authentication
- Set “Expires” to “730 days (24 months)”
- Click “Add”
- Copy or save the secret Value and Secret ID
- Send Tenant ID, Application (client) ID, and secret Value to the PDC admin
Grant permission to PDC Keycloak to read user data from Microsoft.
- Under “Manage” click “API Permissions”
- Under “Microsoft Graph” to the right of “User.Read” click the ellipsis “…”
- Under “Configured Permissions” click “Add a permission”
- Click “Microsoft Graph”
- Click “Delegated permissions”
- Check “email”, “openid”, and “profile”
- Click “Add permissions”
- Click “Grant admin consent for Default Directory”
Restrict PDC access to specific users (or groups)
Following https://learn.microsoft.com/en-us/entra/identity-platform/howto-restrict-your-app-to-a-set-of-users
- Click “Enterprise Apps” in the leftmost menu
- Click “Philanthropy Data Commons” (this context differs from the above)
- Under “Manage” click “Properties”
- Set “Assignment required?” to “Yes”
- Click “Save” (above the properties)
- Under “Manage” click “Users and groups”
- Click “Add user/group”
- Under “Users” click “None Selected”
- Check the users that should have access to PDC
- Click “Select”
- Click “Assign”
If your subscription permits, you may instead (of steps 8-9) create a PDC group,
assign users to that group, and then assign the group to the App.
In Keycloak
- Visit the Keycloak admin console
- In the PDC realm, visit “Identity providers”
- Click “Add provider”
- Under “Social”, click “Microsoft”
- Set “Alias” to include the short name of the organization and
client, for
example myfoundation-microsoft-entra-client
- Set the display name to include the full name of the organization, for
example My Foundation Microsoft Entra Client
- Set the “Client ID” to the value provided by the Entra admin (a UUID)
- Set the “Client Secret” to the value provided by the Entra admin
- Set “Prompt” to
login
- Set Tenant ID to the value provided by the Entra admin (a UUID)
- Click “Add”
Under the newly created Identity provider,
- Set “Scopes” to
openid profile email
- Set “Hide on login page” to “On”
- Set “Show in Account console” to “When linked”
- Set “Sync mode” to “Import”
- Click “Save”
- Copy or save the “Redirect URI” value
- Send the Redirect URI to the Entra admin
Link the Organization to the newly created Identity provider:
- Visit “Organizations”
- Open the organization
- Click the “Identity Providers” tab
- Click “Link identity provider”
- Select the IdP (created above) from the “Identity provider” dropdown menu
- Select the organization’s domain name from the “Domain” dropdown menu
- Keep “Hide on login page” set to
On
- Set “Redirect when email domain matches” to
On
- Click “Save”.
In Microsoft Entra again
- Visit “App registrations”
- Click the “All applications” tab
- Click “Philanthropy Data Commons”
- Under “Redirect URIs” click “Add a Redirect URI”
- Click “Add Redirect URI”
- Click “Web”
- Set “Redirect URI” to the value sent by the PDC admin
- Ensure the “Implicit grant and hybrid flows” items are unchecked
- Click “Configure”
Test the integration