是否有任何解决方案可以使用 Google ID 进行 OpenVPN 身份验证?

Psy*_*oic 14 openvpn oauth g-suite

或者,也许是任何 oauth?

我所能找到的 - 是谷歌的 2factor 身份验证。但我想使用 Google Apps base 进行 OpenVPN 身份验证。

我相信可以制作类似 gitlab 的东西。您可以将证书放在哪里,然后无需登录名和密码即可使用它。

Chr*_*ell 2

我不认为有一个好的方法可以做到这一点。问题在于 Google 支持的身份验证方法(例如 OAuth)实际上是针对 Web 应用程序进行身份验证的。其关键在于您(作为应用程序用户)永远不会向第三方站点提供您的凭据。该网站会将您引导至 Google 的授权页面,您可以登录该页面并对第三方网站进行授权。

由于 OpenVPN 是一个非基于网络的应用程序,我认为以合理的方式做到这一点几乎是不可能的。您基本上必须编写一个自定义 OpenVPN 身份验证模块,该模块会访问 Google 的 OAuth API,请求身份验证令牌,然后向用户提供他们必须访问的特殊 URL,他们可以在其中登录并获取访问代码,然后他们必须输入 OpenVPN 身份验证,以便它可以返回到您的 OpenVPN 身份验证模块,返回到 Google 以获得对您进行身份验证的“是”或“否”。如果这听起来很复杂,那是因为事实确实如此。

假设您提到的 Google Apps 意味着您正在使用 Google Apps 的付费版本(现在称为 Google Apps for Work),那么您最好的选择可能是设置单点登录 (SSO),其中您的内部身份管理系统是事实来源,Google Apps 和您的 OpenVPN 系统都会根据它进行身份验证。您只需通过 Google 搜索即可找到有关 Google Apps SSO 的更多信息。请注意,这不一定是一个简单的过程,并且通常需要一些努力才能实现。

基本上,您需要一种方法来向 OpenVPN 提供您的凭据,然后让它代表您进行身份验证。这只适用于您的用户信任应用程序(在本例中为 VPN)的凭据的情况。这适用于企业身份验证,但与谷歌的愿景不符,即存在不受信任的应用程序。