场景是,我想在部署在不同环境中的多个 REST API 中管理身份验证。
我一直在阅读有关Vault的信息,显然它具有此功能。
使用 Vault,我的应用程序可能只需要向 Vault 发出请求并能够仅使用别名对外部 API(正确配置)进行身份验证?无需在我的应用程序中存储外部 API 的用户/密码/令牌?
我想知道是否有人有过以这种方式使用 Vault 的经验,有什么优点和缺点
或者,如果有人推荐其他东西来实现这一目标
更新:
我在 SO https://stackoverflow.com/questions/57703943/how-to-allow-single-sign-on-for-al-clients-in-keycloak上找到了一个我正在寻找的问题
Vault 可以对其服务的客户端进行身份验证。它还可以将身份验证委托给其服务,例如 GitHub 或某些 OpenID 连接提供商。
但无论您选择哪种方法/协议,模式始终是客户端向 Vault 进行身份验证,而不是向您的 REST API 进行身份验证。
Keycloak 更符合您的需求,因为它是一个通用的身份提供者。
您正在寻找的模式是这样的: