You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 16
Next »
This article describes how to add a new API user in Hermod to get a unique API key for authentication to the API.
Step-by-step instruction
Edit configuration file
To configure Hermod, do the following:
- Open Hermod Config file:
- For Hermod docker image:
Navigate to the top-level directory where docker-compose.yml is located. The configuration file should then be found in a config/ directory.
mydir/
|-- cacerts
|-- certificates
|-- config
|
|-- application.yml -> cod-hermod.yml
| `-- cod-hermod.yml
`-- docker-compose.yml
Open the configuration file for editing:
- For Hermod WAR file:
- Navigate to and open for editing application.yml.
Default file path: /wbapps/hermod/WEB-INF/classes/application.yml
Open a browser and go to the following URL, using a unique <myclientid>
:
http://localhost:20400/<contextPath>/<uriBase>/util/generateclient/<myclientid>
The default value for /<contextPath>/<uriBase> is /hermod/rest
Copy the content from the resulting web page and paste it into the allowed-clients
section of the configuration file.
# X-Api-Key: a2Fyb2xpbjpmZDA0ZGUyZjFlNTU0NGIyOTE1ZDFhNjUwOThjNDkwNjM3YTA3MTVmNWM5ODQzNDU5ZjA1ZGZjMjk4MzQyOTM2
- client-id: <myclientid>
key: fd04de2f1e5544b2915d1a65098c490637a0715f5c9843459f05dfc298342936
# Optional username:password to be supplied for basic authentication in callbacks
callback-basic-auth: username:password
# The callback URL base for this specific client
callback-url: http://localhost:20400/hermod/rest
Edit callback-url
to receive the callbacks from the Hermod API.
Also edit username
and password
if the callback URL requires basic authentication.
- Optional - If visual data is to be fetched from an external content provider:
- Configure
content-provider-url
to point to the Content provider API. Also edit user and pwd if the content provider requires basic authentication.
# Optional: username and password to be supplied for basic authentication to the content provider
content-provider-basic-auth: user:pwd
# Optional: The URL to the content provider API
# When Identity Manager is used as content provider, the URL will look like this: https://<IDM-OPERATOR>/ws/hermod/contentprovider/getcontent
content-provider-url: https://myprovider/getcontent
- Save and exit the configuration file.
Refresh configuration and test API key
Refresh the configuration:
curl -X POST http://localhost:20400/<contextPath>/refresh
Test the new key by sending a request using curl (set THE-NEW-KEY
below):
curl -w%{http_code} -X POST \
http:
-H
'cache-control: no-cache'
\
-H
'content-type: application/json'
\
-H
'x-api-key: THE-NEW-KEY'
\
-d '{
"commandHeader"
: {
"to"
: [
"api-test"
]
}
}'
- Check the response.
- If you get a 403 response, you have the wrong API key.
- If you get a 404 response, then you have the correct API key. A 404 response means that the user
api-test
isn't found, which is expected at this point.