或者,也许是任何 oauth?
我能找到的只有使用谷歌的双因素身份验证。但我想使用 Google Apps 基础进行 OpenVPN 身份验证。
我相信可以制作类似 gitlab 的东西。您可以将证书放在那里,然后无需登录和密码即可使用它。
答案1
答案2
我认为没有好的办法来做到这一点。问题在于,Google 支持的身份验证方法(例如 OAuth)实际上是针对 Web 应用程序进行身份验证的。关键在于,您(作为应用程序用户)永远不会将您的凭据提供给第三方网站。该网站会将您引导至 Google 的身份验证页面,您可以登录该页面并授权第三方网站。
由于 OpenVPN 不是基于 Web 的应用程序,我认为以合理的方式实现这一点几乎是不可能的。基本上,您必须编写一个自定义的 OpenVPN 身份验证模块,该模块会访问 Google 的 OAuth API,请求身份验证令牌,然后向用户显示一个特殊的 URL,用户必须访问该 URL,然后登录并获取访问代码,然后他们必须将该代码输入到 OpenVPN 身份验证中,这样它就可以返回到您的 OpenVPN 身份验证模块,然后返回 Google 以获得对您进行身份验证的“赞成”或“反对”结果。如果这听起来很复杂,那是因为它确实如此。
假设您提到 Google Apps 意味着您正在使用付费版 Google Apps(现在称为 Google Apps for Work),那么您最好的选择可能是设置单点登录 (SSO),其中您的内部身份管理系统是真实来源,并且 Google Apps 和您的 OpenVPN 系统都通过它进行身份验证。您只需谷歌搜索即可了解有关 Google Apps SSO 的更多信息。请注意,这不一定是一个简单的过程,并且通常需要一些努力才能实现。
基本上,您需要一种方法来向 OpenVPN 提供您的凭据,然后让它代表您进行身份验证。这仅适用于您的用户信任其凭据给应用程序(在本例中为 VPN)的情况。这适用于企业身份验证,但不符合 Google 的愿景,因为存在不受信任的应用程序。