或者,也许是任何 oauth?
我所能找到的 - 是谷歌的 2factor 身份验证。但我想使用 Google Apps base 进行 OpenVPN 身份验证。
我相信可以制作类似 gitlab 的东西。您可以将证书放在哪里,然后无需登录名和密码即可使用它。
我认为这样做会很直接,但我无法让它工作:
我正在尝试将文件从服务器 (GCE) 推送到谷歌云存储桶。为了避免gsutil在服务器上授予命令太多权限,我在我的 google 项目的凭据部分创建了一个“服务帐户”。
在存储桶中,gs://mybucket我已将具有 OWNER 权限的服务帐户的电子邮件地址作为 USER 添加到存储桶中。
在服务器上,我像这样激活了服务帐户:
$gcloud auth activate-service-account --key-file <path-to-keyfile> myservice
$gcloud auth list
Credentialed accounts:
- 1234567890@project.gserviceaccount.com
- myservice (active)
To set the active account, run:
$ gcloud config set account <account>
Run Code Online (Sandbox Code Playgroud)
所以到目前为止一切似乎都很好。但是,访问存储桶失败:
$gsutil cp tempfile gs://mybucket
CommandException: Error retrieving destination bucket gs://mybucket/: [('PEM routines', 'PEM_read_bio', 'no start line')]
$gsutil cp tempfile gs://mybucket/tempfile
Failure: [('PEM routines', 'PEM_read_bio', 'no start line')].
Run Code Online (Sandbox Code Playgroud)
当然,我确实验证了存储桶的 ACL 确实将服务帐户显示为 OWNER。我也在不同操作系统的不同机器上尝试过这个。结果一样。不用说,我自己无法理解错误消息。我将不胜感激任何建议。此要点中的详细错误日志。
更新:
删除 …
google-app-engine cloud-storage oauth google-cloud-storage google-cloud-platform
我正在尝试使用 python 获取项目中的存储桶列表:
from google.cloud import storage
storage_client = storage.Client(project='[project-id]')
bucket = storage_client.get_bucket([bucket-name])
blobs = bucket.list_blobs()
for blob in blobs:
print(blob.name)
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:
[service-account-ID]-compute@developer.gserviceaccount.com does not have storage.buckets.get access to [bucket-name]
Run Code Online (Sandbox Code Playgroud)
无论如何,如果我尝试使用 gsutil(使用相同的服务帐户):
gsutil ls gs://[bucket-name]
Run Code Online (Sandbox Code Playgroud)
我可以获得存储桶中的对象列表......所以我不明白发生了什么,关于我应该做什么的任何线索?
我和我的同事正在尝试在 ADFS 2.2 中启用 OAuth。一切正常,除了服务器只传回一个访问令牌(带过期)并且在成功登录后不包括刷新令牌。关于此的文档很少,但是有人知道需要更新哪些设置才能返回刷新令牌吗?
编辑:该建议的OAuth 2.0规范状态:
颁发刷新令牌是可选的,由授权服务器决定。如果授权服务器发出刷新令牌,则在发出访问令牌时包含它
由于我收到了访问令牌,但没有刷新令牌,而且由于 ADFS 目前仅实现 OAuth 的代码流,因此我猜测 ADFS 团队选择不返回刷新令牌。不过,我很想确切地听到这一点。
编辑:就像下面的 Travis 所说,确保
IssueOAuthRefreshTokensTo设置正确AlwaysRequireAuthentication是假的TokenLifetime低于 ADFSSSOLifetime我们的目标是让我们的客户使用 OAuth 授予在 Exchange 2013 服务器上访问他们的电子邮件的权限,而我们不必存储客户的用户名和密码。我们已经为 Gmail 执行了此操作,它运行良好且简单。我期待这样的工作流程:
Exchange 2013 是否支持此工作流?这是默认可用的还是需要在 Exchange 端进行“配置”?(例如,大多数 Exchange 服务器需要显式配置 IMAP,而 EWS 似乎默认启用。)
我打算创建一个邮件服务器,但我根本不想使用密码。对我来说,它们似乎是错误的安全选择。
我想使用证书登录。这在 HTTP 中似乎很容易做到,但我发现在 SMTP 中无法做到。有什么办法吗?
如果没有,除了密码还有其他选择吗?OAuth、2FA 或其他什么?
我正在寻求构建一组需要单点登录的服务。基本上,您登录到我的 oAuth 提供商,并且可以访问 openvpn 连接(或wireguard)和网站,无需额外的安全性,原始设置可能除外。
因此,我的问题是:如何自动化 openVpn 以便我可以执行以下两件事之一:
或者