The authentication API relies on the following credentials:
Field | Example | Description |
---|---|---|
client_id | core-banking-app | The client Id of your application |
client_secret | fc2c4820-dffc-410d-ac49-db15a9bbce38 | The client secret for your application |
grant_type | client_credentials | Oauth2 Grant type |
Realm Id | t72767 | Unique Identifier for authentication realm |
Samples
Authentication URL: https://iam.presta.co.ke/auth/realms/${RealmId}/protocol/openid-connect/token
Replace ${RealmId} with your corresponding realm value
curl -i -X POST \
-H "Content-Type:application/x-www-form-urlencoded" \
-d "client_id=core-banking" \
-d "client_secret=238c4949-vc0a-4ef2-a3de-fa19bae8d9ce" \
-d "grant_type=client_credentials" \
'https://iam.presta.co.ke/auth/realms/t72767/protocol/openid-connect/token'
Result
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJiUHRKS2tmYzg5ZVdDMXF5YjdnRzZ0cEowZDNoalBBQ3F1VWVIVFN0Nl9jIn0.eyJleHAiOjE2MjQ0NTYzNjYsImlhdCI6MTYyNDQ1NjA2NiwianRpIjoiYTNhNDlkYjAtYmY0Yy00YjkzLWE0MmItNWI3Y2YwZDAyMmU1IiwiaXNzIjoiaHR0cHM6Ly9pYW0ucHJlc3RhLmNvLmtlL2F1dGgvcmVhbG1zL3Q3Mjc2NyIsImF1ZCI6ImFjY291bnQiLCJzdWIiOiI2Nzc4OGU4YS1lMmNjLTQ4NmUtOTk0My02NzgzYzFhOTAyZjgiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJjb3JlLWJhbmtpbmciLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJjbGllbnRIb3N0IjoiMTkyLjE2OC4xNS45MyIsImNsaWVudElkIjoiY29yZS1iYW5raW5nIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJ0ZW5hbnRJZCI6InQ3Mjc2NyIsInByZWZlcnJlZF91c2VybmFtZSI6InNlcnZpY2UtYWNjb3VudC1jb3JlLWJhbmtpbmciLCJjbGllbnRBZGRyZXNzIjoiMTkyLjE2OC4xNS45MyJ9.IlbnuviECxV9by5MJauOzKeyXsL_6krON-qWLpBPscFpgKatnESaZoiHP0kKbgqeeRLLHnFQw3vDEl6SDwUylEepyj1-D27hB3NLmxXeBPBDj-7bDLVWL2kxLee2hfWuPT3Fapo3JlFGH5AK7D6NrdGWzGoKYqpS0I7uTqnm3bBGYZm64TKbGg6ochkbK5gHv3B_5GnE67LO9JjPl4clmsniKp6s3VqJp-AUlIUUaV1D51gywZeufRKDYSZbCtAer1tIEhqSFNLiKdNAgJ0xvWEsvkSSIzaXVAjkvod-Z1XvEQyFPeBm_9gHDaSZJ84pJaOF3er5pgK_-3nHVSXTXA",
"expires_in": 300,
"refresh_expires_in": 0,
"token_type": "Bearer",
"not-before-policy": 0,
"scope": "profile email"
}
The authentication result fields are as follows
access_token | A signed JWT bearer token. This will be added to the Authorization header of your http request |
expires | Time in seconds that the token will live (Default is 5 mins ie. 300 seconds) |
token_type | Type of token - Value will be "Bearer" |
refresh_expires_in | Refresh token expiry time, defualt 0 (Refresh tokens are not enabled for this client) |
not-before-policy | Time in seconds before which a token may not be used |
Scopes | Scopes supported in this authentication |
Using Access Token
Now use the access token to make a request
curl -v https://eguarantorship-api.presta.co.ke/api/v1/loan-request -H"Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJiUHRKS2tmYzg5ZVdDMXF5YjdnRzZ0cEowZDNoalBBQ3F1VWVIVFN0Nl9jIn0.eyJleHAiOjE2MjQ1MTE2NDksImlhdCI6MTYyNDUxMTM0OSwianRpIjoiMmIyYjkwNDAtM2NjNS00OTQwLTllZGQtNTExM2MzNTUxNDdjIiwiaXNzIjoiaHR0cHM6Ly9pYW0ucHJlc3RhLmNvLmtlL2F1dGgvcmVhbG1zL3Q3Mjc2NyIsImF1ZCI6ImFjY291bnQiLCJzdWIiOiI2Nzc4OGU4YS1lMmNjLTQ4NmUtOTk0My02NzgzYzFhOTAyZjgiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJjb3JlLWJhbmtpbmciLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJjbGllbnRIb3N0IjoiMTkyLjE2OC4xNS45MyIsImNsaWVudElkIjoiY29yZS1iYW5raW5nIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJ0ZW5hbnRJZCI6InQ3Mjc2NyIsInByZWZlcnJlZF91c2VybmFtZSI6InNlcnZpY2UtYWNjb3VudC1jb3JlLWJhbmtpbmciLCJjbGllbnRBZGRyZXNzIjoiMTkyLjE2OC4xNS45MyJ9.abObU_NnvMBAKtB_GnkDzQeZEiJKqXsmHAxucqKUUCKTpTSAnlYTSUkRAP57y6B8fXkObLrVmDo_LL6Xcs-irMO48VjjFhQudZyigkmyCbF2CgcyBgzo_EWCYByzycBc56oMW5u4bD_uJV2E2LRpoa-GYZXya2fMbfpScAa6DMLEZTklGN06oOQ2g1-gW8GMAnxFCJy8xqlPqxdynBWEwsdA8q15X0R0gNpSgs3OqoZECXjMhJ9vUfUBP2mwaqaLr4n7AogHbLdQxre0xD1vm6nEt4RJ2xJeKDGo1e0ewn-DtJoxCh2pfTU53UH_yYAx5ZZQ42Jdv0zCPk1uX-c7rA"
Sample Result
{
"content": [
{
"refId": "Izg9gvcpzC4OUmkI",
"loanDate": "23/06/2021 12:48",
"loanRequestNumber": "LR100055",
"loanProductName": "Inua Loan",
"loanProductRefId": "zN9x5MBI5x559icx",
"loanAmount": 30000,
"guarantorsRequired": 4,
"guarantorCount": 4,
"status": "OPEN",
"signingStatus": "INPROGRESS",
"acceptanceStatus": "INPROGRESS",
"applicationStatus": "COMPLETED",
"memberRefId": "PqMRHkMUqezGcR5K",
"memberNumber": "M00015",
"memberFirstName": "Clifford",
"memberLastName": "Ogoda",
"phoneNumber": "254718480100"
},
{
"refId": "7Lpf2z690rsYEfDq",
"loanDate": "23/06/2021 12:43",
"loanRequestNumber": "LR100054",
"loanProductName": "Daraja",
"loanProductRefId": "TKEwXAPZTGiHuXzs",
"loanAmount": 20000,
"guarantorsRequired": 4,
"guarantorCount": 4,
"status": "OPEN",
"signingStatus": "ERROR",
"acceptanceStatus": "INPROGRESS",
"applicationStatus": "COMPLETED",
"memberRefId": "PqMRHkMUqezGcR5K",
"memberNumber": "M00015",
"memberFirstName": "Clifford",
"memberLastName": "Ogoda",
"phoneNumber": "254718480100"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageNumber": 0,
"pageSize": 10,
"offset": 0,
"unpaged": false,
"paged": true
},
"last": false,
"totalPages": 5,
"totalElements": 45,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"first": true,
"number": 0,
"numberOfElements": 10,
"size": 10,
"empty": false
}