3.12 API Authentication and Secret Keys
Why Use Authentication?
Authentication is a way to verify that only permitted calls to an API are allowed.
How To Enable Authentication on an API Endpoint
Open a
in PhixFlow from thehomepageOn the toolbar, click
Disable
Allow Anonymous ConnectionThis will then only allow authenticated calls to the API
- the changes
How To Create Authentication Users
Create New User (Optional)
Create a dedicated API user with limited privileges if you want the API to show as being run by this user in the System Console.
In the
, expand thesectionClick
to create a new user who will be able to run the APIEnabled:
- the user
Create New Role
In the
, expand the application with the Incoming APIExpand
and create an New Role by clickingPin the tab as we will need it to remain open
Provide a useful Name, e.g. GenerateToken
Add Privileges to New Role
In the Privileges section, click
Search for and drag across the following privileges in the Full Repository:
Use API KeyRun ActionsView Table Actions(PhixFlow version 11.2 or older only)
Drag each privilege across from the Full Repository into the Privileges section of the Role
- the changes
Create and Assign API User Group to Role
In the
section, clickAdd a new Group for your Role
Give it a useful Name e.g. API Users
Add any users you require to be able to run the API
This could be a dedicated API user with limited privileges, such as the one created in the section, Create New User, above
For more on creating users, see Managing User Accounts
Click
and close the tab
Now drag the new user group into the
section of the new role- the changes
The setup should look similar to:
If working in PhixFlow version 11.2 or older, the role will have an additional privilege: View Table Actions
Assign Application Access User Group to New User (Optional)
If you created a new user, in the
, expand thesectionDouble click on the new user
In the User Groups section, click the
icon to display the available User Groups in the Full RepositorySearch for the name of your application in the search box
Two User Groups will display - drag across the one that doesn't contain _Admin into the User Group section of your user
How To Generate Authentication Tokens
The Incoming API will run as a specified user, this means that when it is called the audit trail will show the specified user as having performed the Incoming API Actionflow
You do not need to login as this user, however, if you were already logged in as this user, you will need to logout and login again to pick up the user group change
In the
, scroll down to the Full Repository section and expand itExpand the
sectionDouble click on the user who will run the Incoming API
Click the 3-dot more menu in the top right of the user properties
Click Generate API Key
Copy the value displayed and store it somewhere safe
How To Send Authorisation
When calling the API, the authorisation token must be passed in as a header called: Authorization.
On the
action, open theIn the Secret Key Details section, click
Give the secret key a name, e.g.
MyAPIKeyToggle on Enabled
- the secret key
Next to Secret, click
Paste in the API Key you copied above - see above section, How To Generate Authentication Tokens
- the Local Secret and Secret Key
In the Headers section on the
action, clickName:
AuthorizationExpression:
${_datasource.MyAPIKey}Where MyAPIKey is the name of the Secret Key you set above