5 API to API Authentication

Generate OAuth Token

curl --location --request POST 'https://<IAM URL>/oauth2/v1/token' 
--header 'Content-Type: application/x-www-form-urlencoded'
--header 'Authorization: Basic <Base64 encoded ClientID:ClientSecret>' 
--data-urlencode 'grant_type=password' --data-urlencode 'username=<username>' 
--data-urlencode 'password=<password>' 
--data-urlencode 'scope=OAuth_Access/consumer::devtestbank1_non-prod_Access'
IAM will respond back with a JWT. A sample response would be as follows:
{"access_token":"
<JWT_ACCESS_TOKEN>","token_type":"Bearer","expires_in":3600}

Use the JWT to access an OBCS protected resource. A sample request would look like the following:


curl --location --request GET 'https://<OBCS
URL>/non-prod/api-gateway/sms-core-services/sms-core-service/user/global?userLoginId=<SampleUser1>' --header 'Authorization: Bearer
<JWT_ACCESS_TOKEN>',
 --header 'appId: sms' --header 'entityId: DEFAULTENTITY' --header 'env: cloud' --header 'multiEntityAdmin: N' 
--header 'userId: <SampleUser1>' --header 'branchCode: <BranchCode>' --insecure}

Note:

userId is a case sensitive field
A sample response would look like the following:
{"data":{"userId":"<SampleUser1>","userName":"<SampleUser1>","recordStatus":"O","isSupervisor":false,"managerId":null,"currentBranch":"R01",
"homeBranch":"R01","locale":"en-US","bankCode":"0000","bankName":"HO Bank","hostCode":"HOST_US","countryCode":"US","hoBranch":"000","branchCurrency":
"USD","applicationDate":"2022-09-20","languageCode":"ENG"}}