peertube-plugin-auth-openid-connect: end_session_endpoint support
Currently, logout via openid connect is not a fully functional process. If you check the "remember me" checkbox on an oidc provider, when you log out of peertube you can't log out properly or switch accounts. If you click on login again, you'll be reconnected directly to your previous account.
The missing element is support for end_session_endpoint
, which enables the provider to correctly disconnect the user. Documentation for openid-client is available here https://github.com/panva/node-openid-client/blob/main/docs/README.md#clientendsessionurlparameters
Official docs here https://openid.net/specs/openid-connect-rpinitiated-1_0.html#RPLogout
I'm willing to work on this issue, but in order to comply with the specs we need to retain the id_token issued for the session. This is one of the parameters (id_token_hint
) used to disconnect the user.
I'd like to know the best approach for this: should it be retained in the PluginStorageManager
?