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.
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:
If there's an issue and auth flow needs to be reinitiated - have the user refresh the page OR pull-to-refresh on mobile
Host the plugin at a similar domain to the FI so that 3rd party cookies don't apply