No creo que haya una buena manera de hacer esto. El problema es que los métodos de autenticación admitidos por Google, como OAuth, están realmente orientados a la autenticación de aplicaciones web. El aspecto clave de esto es que usted (como usuario de la aplicación) nunca da sus credenciales al sitio de terceros. El sitio lo dirige a una página de autenticación en Google, en la que inicia sesión y autoriza el sitio de terceros.
Como OpenVPN es una aplicación no basada en web, creo que sería casi imposible hacer esto de una manera razonable. Básicamente, tendría que escribir un módulo de autenticación de OpenVPN personalizado que llegue a la API OAuth de Google, solicite un token de autenticación, luego presente al usuario una URL especial a la que tendrían que ir, donde iniciarían sesión, obtendrían un código de acceso , que luego tendrían que ingresar en la autenticación de OpenVPN para que pueda volver a su módulo de autenticación de OpenVPN para regresar a Google y obtener un "sí" o "no" al autenticarlo. Si suena complicado, es porque lo es.
Suponiendo que mencione Google Apps significa que está utilizando la versión paga de Google Apps (ahora llamada Google Apps for Work), su mejor opción sería configurar el inicio de sesión único (SSO), donde su sistema de administración de identidad interno es el fuente de la verdad, y tanto Google Apps como su sistema OpenVPN se autentican en su contra. Puede obtener más información sobre el SSO de Google Apps simplemente buscando en Google. Tenga en cuenta que no es necesariamente un proceso simple y, a menudo, requiere cierto esfuerzo para implementarlo.
Básicamente, necesita una forma de proporcionar sus credenciales a OpenVPN y luego hacer que se autentique en su nombre. Esto solo funciona en casos en los que los usuarios confiarán sus credenciales a la aplicación (en este caso, VPN). Eso funciona para la autenticación corporativa, pero no coincide con la visión de Google cuando hay aplicaciones no confiables.