iframewidgetsingle-sign-onopenid-connectbanno-digital-toolkit

Authentication retry fails inside Banno widget


To make it possible for users to retry authentication (including inside the widget on the dashboard) we placed a redirect URI hyperlink, which triggers user authentication. But when trying to authenticate by this hyperlink, the banno server gives a response with the 400 code.

Authentication process scenario

Important details

I reproduced the issue in the repository I cloned from the "Simple Plugin Example". Repo hyperlink: https://github.com/Alexandr-Safariantc/banno-simple-plugin-example/tree/Reproducing-authentication-retry-failure-inside-banno-widget

Branch name: Reproducing-authentication-retry-failure-inside-banno-widget

Please find the detailed information in the README file.


Solution

  • Looking at the logs after reproducing - I believe the issue is a browser restriction with 3rd party cookies. Since the plugin is hosted on an unrelated domain to to the authentication - the authentication server cannot set a cookie. (eg. plugin is hosted on https://example.com/ that redirects to https://fi-domain.com/a/consumer/api/v0/auth - since the flow was initiated form example.com the next URL cannot set cookies).

    2 Solutions for now:

    1. If there's an issue and auth flow needs to be reinitiated - have the user refresh the page OR pull-to-refresh on mobile

    2. Host the plugin at a similar domain to the FI so that 3rd party cookies don't apply