Release 2.8.0 was deployed to the production platform on Monday 28th June having been deployed to the customer integration/pre-production platform on Monday 7th June.
The workflow changes addressing error flows 1-7 and the persistent ID handling are described in the flow documentation. Please refer to the link below for more information.
https://wiki.geant.org/display/InAcademia/InAcademia+Functional+flow+with+errors
Error: invalid or mismatching redirect_uri received: This change updates the workflow to redirect the user to error page: https://inacademia.org/error-redirect-uri/ when the RP provides an invalid or mismatching redirect_uri in a validation request.
Error: missing redirect_uri: This change updates the workflow to redirect the user to error page: https://inacademia.org/error-redirect-uri/ in the event that the validation request does not contain a redirect_uri
Error: invalid client_id received: This change updates the workflow to redirect the user to error page: https://inacademia.org/error-client-id/ in the event that the RP provides an invalid or mismatching client_id in a validation request.
Error: missing client_id: This change updates the workflow to redirect the user to error page: https://inacademia.org/error-client-id/ in the event that the validation request does not contain a client_id.
Error: invalid scope received: This change updates the workflow to redirect 'invalid_scope' to the redirect_uri with any of the following error descriptions:
Error: invalid or missing response_type: This change updates the workflow to redirect 'invalid_request' to the redirect_uri with either of the following descriptions:
Error: unsupported response_type: This change renames the error_message query parameter to error_description.
New ‘reuse detection’ feature: This change makes it possible for the merchant to include the ‘reuse_detection’ claim in its OIDC request, that will elicit a response from the InAcademia service containing a pseudonymised hash of the following supported persistent identifiers (provided they are received from the IdP) as a series of values that merchants permitted to use the persistent flow can utilise in order to recognise a returning user:
This feature is available provided that the client_ID is configured for the ‘reuse_detection’ claim in the InAcademia backend. The persistent flow, returning the identifier as a sub (as versions up to and including 2.7.0), continues to be available.
Note that when Persistent NameID and eduPersonTargetedID are returned by an IdP containing the same values, the hash values will also be the same in the reuse_detection claim.
Instructions for implementation: If you wish to utilise this feature, please send an email to support@inacademia.org to request the addition of the reuse_detection claim as an allowed claim for your clients. Upon confirmation that this addition has been completed, feel free to include the reuse_detection claim when initiating a validation request. You will receive a list of multiple possible identifiers and it will be necessary for the merchant to use those identifiers independently and in such a way that it is meaningful for the client. Please note that OIDC clients configured with this claim will only be permitted to use the persistent flow.
Replace error 13 with warning and provide transient ID in the event that persistent ID has been requested but cannot be constructed: Transient ID will be provided where persistent ID has been requested but cannot be constructed, instead of terminating in an error redirecting to the redirect_uri. The response will now include the relevant 'scope' parameter in the OIDC authorization response indicating the processed scopes, in accordance with OIDC specifications, confirming whether the identifier is transient or persistent, and is applied to both the transient and persistent flows. Examples follow below. Therefore, in the case when transient ID is provided to the RP instead of the requested persistent ID, 'transient' is part of the scope parameter instead of 'persistent'. This will allow merchants to detect this scope and configure its workflow to decide whether to proceed using the transient identifier or to request alternative validation. New persistent identifiers will be constructed for those created up to and including release 2.7.0.
Examples:



The technical client implementation documentation: https://inacademia.org/oidc-implementation-for-inacademia/
Example client configuration for exiting client software: https://inacademia.org/client-rp-examples/
Implementation guidelines: https://inacademia.org/inacademia-implementation-guidelines/