[Openid-specs-fapi] OpenBanking CIBA flow / login_hint_token

Joseph Heenan joseph at authlete.com
Mon Jun 17 06:22:55 UTC 2019


Hi all,

On the last call we talked about how the OpenBanking UK spec ( https://openbanking.atlassian.net/wiki/spaces/DZ/pages/1077805207/Read+Write+Data+API+Specification+-+v3.1.2#Read/WriteDataAPISpecification-v3.1.2-CIBA <https://openbanking.atlassian.net/wiki/spaces/DZ/pages/1077805207/Read+Write+Data+API+Specification+-+v3.1.2#Read/WriteDataAPISpecification-v3.1.2-CIBA> ) uses the login_hint_token in CIBA.

Dave raised a ticket that’s quite related ( https://bitbucket.org/openid/fapi/issues/228/ciba-and-lodging-intent ).

I thought it would be useful to people’s comprehension to draw out a sequence diagram of the OB CIBA flow, in particular the one that uses the login_hint_token to communicate intent, and uses a QR code to replace the login_hint_token as a way to identify the user, as I didn’t understand how this worked when I first read the spec.

Image of the flow is attached below. Note that it assumes the user has already setup the bank’s mobile banking app on their phone and linked it to their account.

This I believe relates to ‘2.3.3 model C’ on page 40 of https://www.openbanking.org.uk/wp-content/uploads/Customer-Experience-Guidelines-V1.3.0.pdf <https://www.openbanking.org.uk/wp-content/uploads/Customer-Experience-Guidelines-V1.3.0.pdf> - this has some pictures showing the flow from the viewpoint of the user.

(I believe this is right, but If anyone from OB can confirm/deny I’m happy to make corrections. I’ve included both the image and the source plantuml)

Thanks

Joseph








@startuml

title Standard CIBA
autonumber "<b>Step #: "

box "User Interactions" #LightBlue
participant Relying_Party as RP
participant Authentication_Device as AD
endbox

box "Bank" #LightGray
participant Authorization_Server as AS
participant Resource_Server as RS
endbox

RP->RP: User launches process
'RP->AS: client_credentials grant
'AS->RP: access_token_client
'RP->RS: Register intent using access_token_client
'RS->RP: indent_id
RP->AS: CIBA request
RP<-AS: auth_req_id
AS->AD: request user authenticates
...wait for user to approve...
AS<-AD: authentication approved
RP<-AS: CIBA ping notification
RP->AS: token request
RP<-AS: access_token
RP->RS: access transaction data using access_token

autonumber 1
newpage OpenBanking UK version
' https://openbanking.atlassian.net/wiki/spaces/DZ/pages/1077805207/Read+Write+Data+API+Specification+-+v3.1.2#Read/WriteDataAPISpecification-v3.1.2-CIBA
RP->RP: User launches process
group OB Intent creation
RP->AS: client_credentials grant
AS->RP: access_token_client
RP->RS: Register intent using access_token_client
RS->RP: indent_id
RP->RP: create login_hint_token: \n"IID", intent_id
end
RP->AS: CIBA request: login_hint_token
note right: nothing in here identifies the user
RP<-AS: auth_req_id
group OB link user to request
RP->RP: display QR code containing\nintent_id, auth_req_id
AD->AD: user opens bank's mobile app
RP->AD: user scans QR code
AD<->AS: fetch authorisation details: auth_req_id, intent_id
note right: Only here does AS know what\nuser it is authenticating
end
...wait for user to approve...
AS<-AD: authentication approved
RP<-AS: CIBA ping notification
RP->AS: token request
RP<-AS: access_token
RP->RS: access transaction data using access_token

@enduml



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-fapi/attachments/20190617/04e80673/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openbanking_ciba.png
Type: image/png
Size: 197970 bytes
Desc: not available
URL: <http://lists.openid.net/pipermail/openid-specs-fapi/attachments/20190617/04e80673/attachment-0001.png>


More information about the Openid-specs-fapi mailing list