Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

EmpowerID can be configured to allow users to authenticate to EmpowerID and single sign-on (SSO) into other applications to which EmpowerID serves as an Identity Provider using their Azure credentials. Once a user authenticates and does SSO to other Service Provider applications such as Salesforce or ServiceNow, that user can seamlessly sign out of all applications simply by signing out of one. The flow for both of these scenarios looks as follows:

Login Scenario – The user goes to SP1 and lands on the EmpowerID Login page for authentication. The user selects Azure Native Auth. Subsequently, the user performs single sign-on into SP1, SP2, and SP3.

Logout Scenario – The user logs out of SP1 and multiple logout requests/responses are exchanged between EmpowerID, Azure Multi-tenant IDP and the service providers.

The single log out flow from the above image is as follows:

  1. SP1 sends logout request to EmpowerID.

  2. EmpowerID sends logout request to Azure.

  3. Azure sends logout response to EmpowerID.

  4. EmpowerID sends logout request to SP2.

  5. SP2 sends logout response to EmpowerID.

  6. EmpowerID sends logout request to SP2.

  7. SP3 sends logout response to EmpowerID.

  8. EmpowerID sends logout response to SP1.

Note

Prerequisites

To complete this process, you will need the Azure domain to configure the Callback URL setting. See your EmpowerID Azure administrator for this information.

Easy html macro
theme{"label":"solarized_dark","value":"solarized_dark"}
contentByMode{"html":"<!doctype html>\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://docs.empowerid.com/new_docs.css\" rel=\"stylesheet\">\r\n<script src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js\" integrity=\"sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM\" crossorigin=\"anonymous\"></script>\r\n<style>\r\n ul{list-style-type: square;}\r\n .caret {\r\n display: inline-block;\r\n width: 0;\r\n height: 0;\r\n margin-left: 2px;\r\n vertical-align: middle;\r\n border-top: 4px dashed;\r\n border-top: 4px solid\\9;\r\n border-right: 4px solid transparent;\r\n border-left: 4px solid transparent;\r\n}\r\n .expand_caret {\r\n transform: scale(1.6);\r\n margin-left: 8px;\r\n margin-top: -4px;\r\n}\r\na[aria-expanded='false'] > .expand_caret {\r\n transform: scale(1.6) rotate(-90deg);\r\n}\r\n\r\n</style>\r\n <div class = \"bd-callout bd-callout-info\">\r\n <h4>Prerequisites for Non-SaaS Users</h4>\r\n <p>If you are not using EmpowerID SaaS, you need to register a service principal application\r\n in Azure and configure it with the following:</p>\r\n <ol>\r\n <li>Client Secret &ndash; You use this when setting up the Azure Native Auth OAuth app in EmpowerID.</li>\r\n <li>Redirect URIs &ndash; You set this value to the FQDN of your EmpowerID Server.</li>\r\n <li>API Permission &ndash; You grant to the service principal the neccessary Microsoft Graph\r\n API permissions for Azure Native Auth. These permissions include:</li>\r\n <ul >\r\n <li>offline_access &ndash; Maintain access to data you have given access to</li>\r\n <li>openid &ndash; Sign users in</li>\r\n <li>profile &ndash; View users' basic profile</li>\r\n <li>User.Read &ndash; Sign and read user profile</li>\r\n </ul>\r\n </ol>\r\n <p>To set this up in Azure, please follow the below steps:</p>\r\n <div>\r\n \r\n <a href=\"#registerApp\" data-toggle=\"collapse\" data-bs-toggle=\"collapse\" \r\n data-bs-target=\"#registerApp\" aria-expanded=\"false\">Register and configure a service provider application in Azure\r\n <div class=\"expand_caret caret\"></div>\r\n </a>\r\n \r\n <!-- Collapsible Element HTML -->\r\n <div class=\"collapse\" id=\"registerApp\">\r\n <div class=\"card card-body\">\r\n <ol>\r\n <li>In Azure, navigate to your Azure Active Directory.</li>\r\n <li>On the Azure Active Directory navbar, click <b>App registrations</b>.</li>\r\n <li>On the App registrations page, click <b>New registration</b>.</li>\r\n <p><img src=\"https://docs.empowerID.com/assets/img/confluence/AzureADNewAppRegistration.png\" style=\"padding-top: 10px;max-height: 600px\"/></p>\r\n <li>Name the application something like \"Azure Native Auth\" or as desired, then select the scope (single or multitenant) and click <b>Register</b>. If you want users outside your \r\n organization to be able to use Azure Native Auth, select multitenant.</li>\r\n <li>Once the application is registered, copy the <b>Application (client) ID</b> from the Overview page. \r\n You will use this when setting the Consumer ID for the Azure Native Auth OAuth application in EmpowerID.</li>\r\n <li>Navigate to the <b>Certificates & secrets</b> \r\n page for the application and add a secret. Copy the Secret ID as you will use this value\r\n need it when setting the Consumer Secret for the Azure Native Auth OAuth application in EmpowerID.</li>\r\n <p><img src=\"https://docs.empowerID.com/assets/img/confluence/AzureADAppSecretID.png\" style=\"padding-top: 10px;max-height: 600px\"/></p>\r\n <li>Navigate to the <b>Authentication</b> page for the application and under <b>Web</b> click \r\n <b>Add URI</b> and enter the <b>Callback Url</b> for the EmpowerID Azure Native Authentication\r\n application. The value entered should look similar to <code>https://sso.empoweriam.com/WebIdPForms/OAuth/V2</code>, \r\n where <code>sso.empoweriam.com</code> is the FQDN of the EmpowerID web server in your environment.</li>\r\n <p><img src=\"https://docs.empowerID.com/assets/img/confluence/AzureADAppAddRedirectURI.png\" style=\"padding-top: 10px;max-height: 600px\"/></p>\r\n <li>Under <b>Implicit grant and hybrid flows</b>, select <b>ID Tokens (used for implicit flows)</b>.</li>\r\n <p><img src=\"https://docs.empowerID.com/assets/img/confluence/AzureADAppAddIDToken.png\" style=\"padding-top: 10px;max-height: 600px\"/></p>\r\n <li>Click <b>Save</b>.\r\n <li>Navigate to the <b>API Permissions</b> page for the application and click <b>Add a permission</b>\r\n permissions.</li>\r\n <p><img src=\"https://docs.empowerID.com/assets/img/confluence/AzureADAppSecretID.png\" style=\"padding-top: 10px;max-height: 600px\"/></p>\r\n <li>Select <b>Microsoft Graph</b> and then select <b>Delegated permissions</b>.</li>\r\n <p><img src=\"https://docs.empowerID.com/assets/img/confluence/AzureADAppSelectDelegatedPerms.png\" style=\"padding-top: 10px;max-height: 600px\"/></p>\r\n <li>Expand <b>OpendId permissions</b>, select the following:</li>\r\n <ul>\r\n <li>offline_access</li>\r\n <li>openid</li>\r\n <li>profile</li>\r\n </ul>\r\n <li>Expand <b>User</b> and select <b>User.Read</b>.</li>\r\n <li>Click <b>Add permissions</b>.</li>\r\n </ol>\r\n </div>\r\n </div>\r\n</div>\r\n </div>","javascript":"","css":""}

Set up Azure Native Auth

  1. On the navbar, expand Single Sign-On Apps and Authentication > SSO Connections and click OAuth / OpenID Connect.

  2. Select the External OAuth Services tab and then search for AzureAD.

  3. Click the Provider link for AzureAD.

  4. Click the Edit button for AzureAD.

  5. If you are not using EmpowerID SaaS, do the following:

    • update the Consumer Key field with the Application (client) ID of the service principal application you created in the above Prerequisites steps.

    • Update the Consumer Secret field with the Secret ID of the secret you created for the service principal application in the above Prerequisites steps.

  6. Update the Callback Url field with the FQDN of your EmpowerID server. The value entered should look similar to https://sso.empoweriam.com/WebIdPForms/OAuth/V2, where sso.empoweriam.com, is the FQDN of the EmpowerID web server in your environment.

  7. Click Save.

  8. On the navbar, expand Admin > Miscellaneous and click Lists.

  9. From the Lists tab, search for Whitelisted and then click the Display Name link for the Azure Multi-Tenant Whitelisted Domains record.

  10. Expand the Items accordion and then click the Add button in the grid header.

  11. Add your domain as a List Item. Enter the domain name in all three fields.

  12. Click Save.

  13. On the navbar, expand Admin > Applications and Directories and click Account Stores and Systems.

  14. Search for AzureGlobalIdP and then click the Account Store link for the record.

  15. On the Account Store Details page that appears, click the Edit link to put the account store in edit mode.

  16. From the Settings tab of the Edit Account Store page, go to the Provisioning Settings pane and locate the Default Person Business Role and Default Person Location settings.

  17. Under Default Person Business Role, click the Select a Business Role link and then search for and select the desired Business Role for the Person objects EmpowerID provisions from the account store.

  18. Click Save.

  19. Under Default Person Location (leave blank to use account container, click the Select a Location link and then search for and select the desired location for the Person objects EmpowerID provisions from the account store.

  20. Click Save.

Info

If you want to configure domain specific Business Role and Location allocation for the people EmpowerID provisions, please follow the below steps.

Configure domain-specific Business Role and Locations

  1. On the navbar, expand Admin > Miscellaneous and click Lists.

  2. From the Lists tab of the find ListDataItemSet page that appears, search for FQN and then click the Display Name link for FQN to BusinessRoleLocationMapping.

  3. On the ListDataItemSet page, expand the Items accordion and click the Add button on the grid header.

  4. In the List Items pane, add the following information:

    • Name / Key – Name of your domain

    • Display Name – Display name for your domain

    • Value – The OrgRoleOrgZoneID of the Business Role and Location combination in which you want people to be placed in.

  5. Click Save.

Add a Login Button for Azure Native Authentication

  1. On the navbar, expand Single Sign-On > SSO Connections and click SSO Components.

  2. Select the IdP Domains tab and then click the IdP Domains link for the IDP Domain where you want the Login button to appear.

  3. Select the External OAuth Providers tab and then select the Azure Native Authentication provider.

  4. Click Save.

Tip

If a global administrator logs in using the Azure Native Authentication, the Azure consent prompt will include a checkbox “Consent on behalf of your organization”. If you check this option, the app will not prompt any other users in the organization to review the permissions; otherwise, all users in the organization will be prompted to review the permissions.

Insert excerpt
IL:External Stylesheet
IL:External Stylesheet
nopaneltrue

Div
stylefloat: left; position: fixed;

IN THIS ARTICLE

Table of Contents
maxLevel4
minLevel2
stylenone