I run a small read-only integration against my own account. Confidential OAuth client, refreshes on a schedule, no third party involved. I am trying to plan for the 90 day re-authentication and the API documentation does not mention it anywhere, so I would rather pin the behaviour down than guess.
What I have pieced together from threads here, none of it from the docs:
- Users must re-authenticate every 90 days under SCA.
- At the boundary the refresh grant keeps working, and it is the data endpoints that begin refusing.
- The remedy is an in-app re-approval, not a fresh authorization code flow.
If that is right, it is good news and it deserves to be written down somewhere other than a 2019 thread.
Six questions:
- Is the 90 day re-consent still in force, and does the clock run from the last in-app approval or from the original authorisation?
- At the boundary, does
POST /oauth2/tokenwithgrant_type=refresh_tokenstill return 200? - Which code do the data endpoints return at that point,
forbidden.insufficient_permissionsorforbidden.verification_required? Both are in circulation and they appear to describe different situations. - Is there any programmatic signal before the boundary? A consent expiry on
/ping/whoami, on/accounts, anywhere. Today a client cannot tell whether it has eighty days left or two, so it cannot warn its user, and the Monzo app sends no notification either. This is the question I most want answered. - Does Refresh permissions under Settings, Manage apps reset the 90 days without a new OAuth flow, and does it apply to every listed app at once or one at a time?
- Some third parties show “Ongoing session” with no countdown while developer clients show days remaining. Is that the open banking AISP consent model rather than the developer API?
Happy to test any of this against my own client and post the results here.
Thanks!