Register an OAuth Application
To consume the EmpowerID API from an application external to the platform, you need to register that application as an OAuth Client app in EmpowerID. This integrates the application with EmpowerID and generates a unique API Key, Client Secret, and Client ID for it. You use these to get an OAuth 2.0 access token (JWT).
Prerequisites
Your organization’s resources – like its user accounts, groups, mailboxes, etc., as well as the resources internal to EmpowerID – such as its workflows, applications, and pages – are protected application resources secured by various EmpowerID operations. These operations are protected code objects that when executed allow resources to be accessed in a way that is consistent with both the operation and the type of resource being accessed. Some examples include adding users to groups, creating mailboxes, updating user attributes, or even viewing the pages of the Web application. Before users can access a resource in a given way, their EmpowerID Person must have an access assignment for the operation or operations that allow them to do so. As API calls are essentially executions of EmpowerID operations via HTTP, the applications you register to call the API need to have an EmpowerID Person linked to them with the appropriate access. Otherwise, you will receive a 401: Unauthorized error. To facilitate API calls, your organization should create the requisite number of Person objects with the appropriate amount of access for the application’s intended purpose.
How to register an application
On the navbar of the EmpowerID Web interface, expand Apps and Authentication > SSO Connections and click OAuth /OpenID Connect.
On the EmpowerID OAuth Client Apps tab of the OAuth page, click the Add button.
On the General tab of the OAuth Provider Application Details page fill in the following:
Name – Name of the application
Display Name – Display name for the application
Description – Description for the application
Application Type – Select the appropriate application type from the drop-down; default is Web application.
Application Owner – Person creating the app by default; or, search for another person
Issuer – Defaults to EmpowerID; you can update the value to any string / URL you want.
Signing Certificate – Select a certificate with a private key from the EmpowerID certificate store
Click Save.
The system creates the application and directs the browser to the View One page for it.
Adding Client Secrets and Callback URLs to the application
On the View One page for the application, expand the Client Secrets accordion and click the Add button.
Copy the string in the Client Secret field.
Note: This is the only time you will see the entire string. Once you create the secret, the value is encrypted and you will not be able to recover it.After you have copied and saved the Client Secret, enter the following information:
Name – Name of the secret
Expires – Select I Year, 2 Years or Never.
Click Save to create the secret.
Expand the Callback URLs accordion and click the Add button.
In the Callback URL field, enter https://<yourserver>/WebIdPForms/OAuth/V2, replacing
<yourserver>
with the FQDN of your EmpowerID Web server. Add any other Callback URLs supported by your application. Please note that Callback URLs are case-sensitive.Click Save.
How to configure advanced OAuth flows
After EmpowerID creates the application, click the Edit link on the View One page to put the application in edit mode.
On the edit page for the application, select the Advanced Configuration tab.
Under the OAuth Flow Details section fill in the following details:
Domain Name (Device Code Flow) – If you use this application for OAuth Device Code Grant Type, enter the server domain name. Eg., sso.empoweriam.com
SAML Connection (SAML Bearer Assertion Grant) – If you use this application for OAuth SAML Bearer Assertion Grant Type, select an appropriate SAML connection from the drop down
Enable Client Credential Flow – If you use this application for OAuth Client Credential Flow, enable this checkbox
Enable On-Behalf-Of Flow – If you use this application for On-Behalf-Of flow, enable this checkbox
Next Steps