Nie sądzę, że jest na to dobry sposób. Problem polega na tym, że metody uwierzytelniania obsługiwane przez Google, takie jak OAuth, są naprawdę ukierunkowane na uwierzytelnianie aplikacji internetowych. Kluczowym aspektem tego jest to, że (jako użytkownik aplikacji) nigdy nie podajesz swoich danych uwierzytelniających w witrynie innej firmy. Witryna przekierowuje do strony uwierzytelniania w Google, na którą logujesz się i autoryzujesz witrynę innej firmy.
Ponieważ OpenVPN jest aplikacją nie opartą na sieci, myślę, że byłoby to prawie niemożliwe w rozsądny sposób. Zasadniczo musiałbyś napisać niestandardowy moduł uwierzytelniania OpenVPN, który uderza w interfejs API Google OAuth, żąda tokenu uwierzytelnienia, a następnie przedstawia użytkownikowi specjalny adres URL, do którego musiałby się udać, aby się zalogować, uzyskać kod dostępu , które musieliby następnie wprowadzić w uwierzytelnianiu OpenVPN, aby mógł wrócić do modułu uwierzytelniania OpenVPN i wrócić do Google, aby uzyskać „yay” lub „nie” przy uwierzytelnianiu Ciebie. Jeśli brzmi to skomplikowanie, to dlatego, że tak jest.
Zakładając, że wzmianka o Google Apps oznacza, że korzystasz z płatnej wersji Google Apps (obecnie nazywanej Google Apps for Work), prawdopodobnie najlepszym rozwiązaniem byłoby skonfigurowanie rejestracji jednokrotnej (SSO), w której twoim wewnętrznym systemem zarządzania tożsamością jest źródło prawdy, a Google Apps i Twój system OpenVPN uwierzytelniają się przeciwko niemu. Możesz dowiedzieć się więcej o jednokrotnym logowaniu w Google Apps, po prostu googlując. Pamiętaj, że niekoniecznie jest to prosty proces i często wymaga pewnego wysiłku.
Zasadniczo potrzebujesz sposobu dostarczenia swoich danych uwierzytelniających do OpenVPN, a następnie uwierzytelnienia w Twoim imieniu. Działa to tylko w przypadkach, w których użytkownicy będą ufać swoim poświadczeniom do aplikacji (w tym przypadku VPN). Działa to w przypadku uwierzytelniania korporacyjnego, ale nie pasuje do wizji Google, w której istnieją niezaufane aplikacje.