Prerequisites
Have postman installed and running
Find installation guide for postman here
Have access to the OpenSRP APIs postman collection url (https://github.com/OpenSRP/opensrp-server-configs/blob/master/assets/postman/OpenSRP.postman_collection.json )
NB - any updates on the postman collection changes the postman collection url
Steps for loading the collection
Launch postman (can run on all OS platforms)
Click Import, then Import from the link.
3. Copy and paste the OpenSRP APIs postman collection link (in the field “Enter a url and press Import”)
Changing global settings steps
Go to the OpenSRP collection and click on the 3dots(...), then choose Edit
2. Click on Variables
3. Change the current value of base_url to the base url of your OpenSRP APIs e.g for a sample url “https://anc-stage.smartregister.org/opensrp/security/authenticate” , the base url will be “anc-stage.smartregister.org”
4. Change the current value of username to your OpenSRP API user name
5. Change the current value of password to your OpenSRP API password
You are now fit to run the tests.
Configuring Postman for OAuth with Keycloak
Note: replace parts marked with {{}} with the actual values
1. Get OpenID configuration settings from this endpoint
{{keycloak-url}}/auth/realms/master/.well-known/openid-configuration
2. Configure these variables in Postman as described in (2) above.
Variable Name | Configured Value |
---|---|
keycloak-url | https://localhost:8080 |
realm | name-of-realm-as-defined-in-keycloak |
client-id | opensrp-server |
client-secret | some-random-but-secure-password |
3. In Postman under request Authorization tab, select OAuth 2.0 in the TYPE drop-down. This will make available controls to configure and request for a new OAuth token from the server.
4. Click on Get New Access Token. This will show a form to configure OAuth details. Fill the fields as shown below. Values inside {{}} are parameters as defined in step (2) above.
5. For Auth URL and Access Token URL, replace master in the URL with the name of the realm. See section defined with {{realm}} in the URL
Field | Value |
---|---|
Token Name | keycloak-bearer-token |
Grant Type | Password Credentials |
Access Token URL | {{keycloak-url}}/auth/realms/{{realm}}/protocol/openid-connect/token |
Username | username-defined-in-keycloak |
Password | user’s-password-as-defined-in-keycloak |
Client ID | {{client-id}} |
Client Secret | {{client-secret}} |
Scope | openid |
Client Authentication | Send client credentials in body |
6. If all values are configured correctly, clicking on Request Token should fetch and display an token in the popup window.
7. Click Use Token to use the new token to access the API.