Hi,
I am currently integrating RStudio Server with Open OnDemand and am using a custom authentication helper to authenticate users.
Currently, my workflow is:
- When the OOD job starts, I generate a random password for the RStudio session:
export RSTUDIO_PASSWORD="$(openssl rand -hex 16)"
- I create a custom authentication helper (
auth) which validates:- The username matches the OOD user (
$USER). - The password matches the generated
RSTUDIO_PASSWORD.
- The username matches the OOD user (
The helper is configured using:
--auth-pam-helper-path="${RSTUDIO_ROOT}/bin/auth"
and my rserver is launched as:
exec rserver \
--server-daemonize=0 \
--www-port="${RSTUDIO_PORT}" \
--server-user="${USER}" \
--server-data-dir="${RSTUDIO_ROOT}/run" \
--database-config-file="${RSTUDIO_ROOT}/conf/database.conf" \
--config-file="${RSTUDIO_ROOT}/conf/rserver.conf" \
--auth-none=0 \
--auth-pam-helper-path="${RSTUDIO_ROOT}/bin/auth" \
--auth-encrypt-password=0 \
--rsession-path="${RSTUDIO_ROOT}/bin/rsession.sh"
This approach works, but it requires users to enter a separate session password rather than using the same authentication they already used to log in to the Open OnDemand portal.
Our OOD portal uses Okta (OIDC/SAML) for authentication.
My question is:
Is there a supported way for RStudio Server, when launched through Open OnDemand, to leverage the existing Okta-authenticated OOD session so that users are not prompted for another login?
In other words, I’d like RStudio to trust the authentication already performed by OOD, similar to how /rnode proxies other interactive applications.
If this isn’t directly supported, what is the recommended approach for integrating RStudio authentication with an OOD deployment that uses Okta?
Any guidance or examples would be greatly appreciated.