KeyCloak, PrivacyIdea和Email Gateway

81次阅读
没有评论

问题描述

正在开发一个在AWS上托管的微服务应用程序,希望通过Amazon API Gateway由全球各个组织的终端用户访问。用户希望使用KeyCloak作为用户认证服务器(2FA)。KeyCloak将为经过身份验证的用户生成JWT令牌,并将JWT令牌传递给AWS API Gateway以授权访问微服务。

KeyCloak将托管在AWS的公共VPC子网中。此外,用户还计划在另一个子网或可能是同一个子网的同一个VPC中使用PrivacyIdea作为OTP代码生成器和分发器。用户还计划在同一个或另一个VPC子网中设置一个电子邮件网关。

PrivacyIdea将生成OTP代码,可能使用HOTP,并通过电子邮件网关将其发送到用户的邮箱。用户的企业电子邮件地址将在PrivacyIdea中设置。这些用户也将在KeyCloak中设置。用户的想法是,PrivacyIdea生成并通过电子邮件发送的OTP代码将与用户的登录ID和密码一起输入到KeyCloak生成的登录表单中,然后进行用户身份验证。

KeyCloak作为认证服务器和使用电子邮件OTP代码是用户无法更改的架构选择。

用户的问题是,KeyCloak只直接支持Google Authenticator或FreeOTP移动短信或应用程序OTP;因此,用户不得不引入PrivacyIdea和电子邮件网关。用户希望得到关于如何进行OTP种子和OTP代码的通信以及如何共享OTP数据库的技术指导或经验。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

您可以使用新的privacyidea keycloak提供程序,而无需将任何OTP值推送到keycloak数据库中。

用户使用用户名/密码登录,privacyidea提供程序将负责向用户发送电子邮件,并在第二个对话框中要求输入OTP。

您可以在以下链接中找到更多关于privacyidea keycloak提供程序的信息:https://github.com/privacyidea/keycloak-provider

方案2

请注意,这是一个用户评论,可能需要进一步验证。
用户评论:是的,谢谢。我已经看过KeyCloak Provider并打算尝试一下。@JoeBoyP37,这个解决方案对您有效吗?

以上是两种解决方案,您可以根据您的需求选择适合您的方案。

希望对您有所帮助!

正文完