Many popular reverse proxies (tomcat, nginx, ...) seem to handle OpenID Connect and act as a Relying Party to hide the authentication complexity to all applications behind the reverse proxy, which just receive http headers containing user info.
Is this a good practice, to have just one Relying Party (the reverse proxy) declared in the OP, as opposed to have as many Relying Parties as there are applications ? It seems to me the security can only be weakened by grouping all apps under a single configuration (token timeouts, etc) and declaration from the OP perspective, so I'm puzzled as to why it's implemented in major reverse proxies and why it's sometimes recommended.
Can applications behind the reverse proxy really be agnostic of the authentication protocol ? For example, for tomcat, the official documentation suggests that it's the apps' job to refresh the token, which seems to go against the goals of this whole architecture...
When the application wants to refresh the access_token, it may call the module on the following hook...