Consent re-authentication is the process that enables an ASPSP to authenticate a PSU more than once for the same consent. In order to re-authenticate a consent:
- The consent must be in the authorized state
- The
ExpirationDateTime
of the consent should not have elapsed
Once re-authentication is successful, a TPP must not use or refresh access tokens that were issued for the same consent. The ASPSP can decide to invalidate the previously issued tokens for the same consent.
Change the authorized accounts during re-authentication
In the accounts flow, the account ID can be changed by a PSU during consent re-authentication. The ASPSP can allow the PSU to change the account IDs using the following configurations:
To allow the PSU to change the account ID in re-authorization:
Open the
open-banking.xml
file in the<OB_KM_HOME>/
repository/conf/finance
directory and set the value to true, as in the following configuration:<UK> <ConsentReAuthentication> <EnableAccountUpdateByPSU>true</EnableAccountUpdateByPSU> </ConsentReAuthentication> </UK>
- Open the
open-banking.xml
file in the<OB_AM_HOME>/repository/conf/finance
directory and repeat the same configuration as in step 1.
Revoke previously issued tokens to an existing consent
During consent re-authentication, an ASPSP can revoke a previously issued token for an existing consent. The default configuration revokes the previous token request with the same client-id and scopes as in the existing consent. By default, RenewTokenPerRequest
is set to false
. You can find the default configuration in the <OB_KM_HOME>/repository/conf/identity/
as follows:identity.xml
file
<OAuth> <RenewTokenPerRequest>false</RenewTokenPerRequest> </OAuth>
Refresh token validity period
In WSO2 Open Banking, an ASPSP can re-authenticate the consent at a configured time.
The TPP can request re-authentication for a given consent from the PSU at any time. The refresh token for the consent ID is refreshed, once the PSU re-authorises the re-authentication request. If the TPP doesn’t send the re-authentication request, according to the SCA exemption rules, the ASPSP can enforce it for the configured time that is configured under the RefreshTokenValidityPeriod
. When the validity period is reached, the refresh token expires. In that case, the refresh token has to be re-authorised for the given consent.
None of the permissions in the consent can be altered as the consent is re-authenticated.
Open the
identity.xml
file in the<OB_KM_HOME>/
repository/conf/identity
directory and configure the validity period for the access token of a consent.The validity period must be defined in seconds. In this example, it is 90 days. Therefore, the value is set to 7776000.
<OAuth> <RefreshTokenValidityPeriod>7776000</RefreshTokenValidityPeriod> .... <RenewRefreshTokenForRefreshGrant>false</RenewRefreshTokenForRefreshGrant> </OAuth>
RenewRefreshTokenForRefreshGrant
is the configuration that enables the TPP to renew the refresh token for a given consent.Recommendation
Set the value to
false
. There is only one refresh token for a consent that can be re-authenticated. It cannot be renewed by the TPP itself.<RenewRefreshTokenForRefreshGrant>false</RenewRefreshTokenForRefreshGrant>