Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
{
    "typ": "JWT",
    "alg": "PS256",
    "kid": "e4ce77c498e77000a25aa7b40e4a83f9"
}
.
{
    "iss": "s6BhdRkqt3",
    "aud": "https://server.example.com",
    "response_type": "code",
    "redirect_uri": "https://openbanking.tpp1.ae/simple-redirect-url",
    "scope": "accounts",
    "state": "2616df22-899e-468b-b7af-927145b067cc",
    "authorization_details": [
        {
            "Type": "urn:openfinanceuae:insurance-consent:v1.0-draft3",
            "Consent": {
                "ConsentId": "6a6a826f-0930-4eb0-b365-a8eac3032828",
                "Permissions": [
                    "ReadInsurancePoliciesMotor"
                ],
                "ExpirationDateTime": "2024-03-28T15:27:13+030",
                "Purpose": [
                    "MotorInsuranceQuote"
                ]
            }
        }
    ]
}

Create the RAR Request using the signed JWT, and authenticated using private_key_jwt.

...

3.3 The User Logs into Their LFI, Reviews and Authorizes the Consent Request, and Confirms They Wish to Share Insurance Policies with the TPP

The LFI confirms account access insurance consent in the OFP.

Code Block
POST /auth/aac-1a672e83-d1e5-42bc-b8e1-60a490ec52fd/aacic/doConfirm
host: auth1.openfinanceplatform.ae
Content-Type: application/x-www-form-urlencoded
accountspolicyReference=f91d07d0-6d8f-4e0e-9fb4-0ac61f84d115
&accountspolicyReference=bed6cb83-956e-4795-86c3-0f4254ae1cab
&accounts=528b9f0c-c4e1-45fd-8f28-ab53fda4c850
&accounts=fe1e15fe-d4aa-4b4c-9ce0-e69bbf901fa6
&accounts=802d03c3-4ac5-4809-8c1e-f9f046e314e4
&accounts=02d19fb7-cf51-4b9a-a958-77701120da3c

3.4 The LFI Returns an Authorization Code to the TPP

Code Block
302 Found
Location: https://openbanking.tpp1.ae/simple-redirect-url?
code=ce2aeabf-599c-4475-9171-1f6d8c1a49dc
&state=2616df22-899e-468b-b7af-927145b067cc

3.5 The TPP Exchanges the Authorization Code for an

...

Insurance API Access Token with the OFP

Code Block
POST /token HTTP/1.1
Host: as1.openfinanceplatform.ae
Content-Type: application/x-www-form-urlencoded
Accept: application/json
grant_type=authorization_code
&code=ce2aeabf-599c-4475-9171-1f6d8c1a49dc
&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
&client_assertion=eyJhbGciOiJIUzI1NiJ9.ew0KICAiaXNzIjogImM4NDIyNzg3LTFkZmYtNDI0ZC1iNjIwLTM1NmMwODcwYmVkNCIsDQogICJzdWIiOiAiYzg0MjI3ODctMWRmZi00MjRkLWI2MjAtMzU2YzA4NzBiZWQ0IiwNCiAgImF1ZCI6ICJhdXRoMS5sYWIub3BlbmJhbmtpbmcuc2EiLA0KICJqdGkiOiAiYThmZDQ2ZjctYTNiMy00MGQ5LTk2ZjctNDk1YmEyMGFiMTZmIiwNCiAgImV4cCI6IDE1MTYyMzkwMjINCn0.nvY2tG7D3_ioVI55nRJ7apBzoGbP9sofMLd7Dni4YbI
&redirect_uri=https%3A%2F%2Fopenbanking.tpp1.ae%2Fsimple-redirect-url

...

Code Block
HTTP/1.1 200 OK
Content-Type:application/json
x-fapi-interaction-id: 2e974f01-d111-4078-9a19-7a9b385e637c
{
  "Data": {
    "ConsentId": "aac-69255d98-ab0e-4758-92a7-cacbf3073efa",
    "CreationDateTime": "2024-06-27T15:27:13+0300",
    "ConsentStatus": "Authorized",
    "ConsentFlags": {
      "PartlyAuthorized": "2024-06-27T16:27:13+0300"
    },
    "ConsentStatusUpdateDateTime": "2024-06-27T16:27:13+0300",
    "Permissions": [
      "ReadAccountsBasic",
      "ReadAccountsDetail",
      "ReadBalances",
      "ReadBeneficiariesBasic",
      "ReadBeneficiariesDetail",
      "ReadTransactionsBasic",
      "ReadTransactionsDetail",
      "ReadTransactionsCredits",
      "ReadTransactionsDebits",
      "ReadScheduledPaymentsBasic",
      "ReadScheduledPaymentsDetail",
      "ReadDirectDebits",
      "ReadStandingOrdersBasic",
      "ReadStandingOrdersDetail"
    ],
    "AuthorizationExpirationTimeWindow": "720:00:00",
    "ExpirationDateTime": "2024-06-28T15:27:13+0300",
    "TransactionFromDateTime": "2024-06-25T12:19:24+0300",
    "TransactionToDateTime": "2024-06-27T12:19:24+0300",
    "AccountType": [
      "UAEOF.Retail"
    ],
    "AccountSubType": [
      "CurrentAccount"
    ],
    "ConsentPurpose": [
      "Account Aggregation",
      "E-Statement"
    ]
  },
  "Subscription": {
    "Webhook": {
      "Url": "https://api.tpp1.com/webhook/callbackUrl",
      "IsActive": false
    }
  },
  "Links": {
    "Self": "https://rs1.openfinanceplatform.ae/open-finance/account-information/v1.0-draft3/account-access-consents/aac-69255d98-ab0e-4758-92a7-cacbf3073efa"
  },
  "Meta": {}
}

4.2 The TPP Requests

...

the List of

...

Insurance Policies Using an Expired Access Token

4.2.1 Request: accounts resource

Code Block
GET /open-finance/account-informationinsurance/v1.0-draft3/accountsinsurance-policies HTTP/1.1
Host: rs1.openfinanceplatform.ae
Content-Type: application/json
x-fapi-interaction-id: 9a371b79-4e79-4d7d-a77d-380c528ab8c0
Authorization: Bearer caa1b60d-61ff-4cd8-a4e1-2d18c8696de0

...

Code Block
HTTP/1.1 401 Unauthorized
Content-Type: application/json
x-fapi-interaction-id: 9a371b79-4e79-4d7d-a77d-380c528ab8c0
{
  "Errors": [
    {
      "Code": "UAEOF.AccessToken.Unauthorized",
      "Message": "max_age_exceeded: Token has expired",
      "Path": "Authorization",
      "Url": "https://developer.openfinanceplatform.ae/api-errors/401"
    }
  ]
}

4.3 Webhooks

4.3.1 The TPP Creates an

...

Insurance Consent Request with a Webhook Subscription

4.3.1.1 Request: Account Access Consent and Webhook Subscription

Code Block
{
    "typ": "JWT",
    "alg": "PS256",
    "kid": "e4ce77c498e77000a25aa7b40e4a83f9"
}
.
{
    "iss": "s6BhdRkqt3",
    "iat": 1669393154,
    "exp": 1669393496,
    "nbf": 1669393154,
    "aud": "https://server.example.com",
    "response_type": "code",
    "redirect_uri": "https://openbanking.tpp1.ae/simple-redirect-url",
    "scope": "accounts",
    "state": "2616df22-899e-468b-b7af-927145b067cc",
    "authorization_details": [
        {
            "typeType": "urn:openfinanceuae:accountinsurance-access-consent:v1.0-draft3",
            "consentConsent": {
                "ConsentId": "399e00656a6a826f-99070930-42cc4eb0-82b9b365-1ec4f273e3e9a8eac3032828",
                "CreationDateTimePermissions": "2024-03-27T15:27:13+0300", [
                    "ConsentStatus": "Authorized"ReadInsurancePoliciesMotor"
                ],
                "ConsentStatusUpdateDateTimeExpirationDateTime": "2024-03-27T1628T15:27:13+0300030",
                "PermissionsPurpose": [
                    "ReadAccountsBasicMotorInsuranceQuote",
                ]
    "ReadAccountsDetail",
                    "ReadBalances",
                    "ReadBeneficiariesBasic",
                    "ReadBeneficiariesDetail",
                    "ReadTransactionsBasic",
                    "ReadTransactionsDetail",
                    "ReadTransactionsCredits",
                    "ReadTransactionsDebits",
                    "ReadScheduledPaymentsBasic",
                    "ReadScheduledPaymentsDetail",
                    "ReadDirectDebits",
                    "ReadStandingOrdersBasic",
                    "ReadStandingOrdersDetail"
                ],
                "AuthorizationExpirationTimeWindow": "720:00:00",
                "ExpirationDateTime": "2024-03-28T15:27:13+0300",
                "TransactionFromDateTime": "2024-03-25T12:19:24+0300",
                "TransactionToDateTime": "2024-03-27T12:19:24+0300",
                "AccountType": ["UAEOF.Retail"],                 "AccountSubType": ["CurrentAccount"],
  },
             "ConsentPurposeSubscription": ["Account Aggregation", "E-Statement"]
     {
      },             "SubscriptionWebhook": {
           
  "Webhook": {                 "Url": "https://api.tpp1.com/webhook/callbackUrl",
                    "IsActive": false
                }
            }
        }
    ]
}

4.3.2 The TPP updates a Webhook Subscription preference with the OFP

...