Keycloak 集成 Azure AD 实现 Web 应用认证

4

我正尝试使用Keycloak在我的Web应用程序和IDP Azure AD之间进行SAML代理。

我已在Azure AD中创建了一些用户,并将我的Web应用程序添加为应用程序。

我已经配置了SAML IDP的Keycloak,并在Keycloak中导入了Azure AD联合数据。

但是,出现了问题,因为我没有得到任何可以给我提供将Keycloak与Azure AD集成的逐步过程的链接。

我打开Microsoft登录页面并输入密码,认证通过后,但在重定向回Keycloak之前,我收到以下错误:

对不起,我们无法为您签入。

AADSTS700016: 在目录'<>'中未找到标识符为http://localhost:8280/auth/realms/localRealm的应用程序。如果租户管理员未安装该应用程序或任何租户中的用户未同意,请参考此文。您可能已将身份验证请求发送到错误的租户。

我使用了以下2个链接来进行配置:

https://ultimatesecurity.pro/post/okta-saml/ 此链接描述了如何使用Okta为SAML配置Keycloak

https://docs.pivotal.io/p-identity/1-5/azure/config-azure.html 此链接描述了如何将Azure AD配置为SAML IDP

编辑:看起来Keycloak在SAML中发送了错误的应用程序标识符(可能是),因为此localhost:8280...是Keycloak Realm URL,而不是Azure应用程序标识符,Azure中的字符串键->应用程序。

3个回答

6
我相信你可能遗漏了两件事情:
  1. 在Azure AD应用程序注册属性中,必须使用Keycloak身份提供者的重定向URI替换App ID URI字段,但是不要包括结尾的"/broker/...../endpoint"部分。

例如,如果您的身份提供者名称为myprovider,领域名称为myrealm,则您的重定向URI可能看起来像这样https://mykeycloakserver/auth/realms/myrealm/broker/myprovider/endpoint,因此您需要在Azure AD中使用的App ID URI值如下:https://mykeycloakserver/auth/realms/myrealm

  1. 确保完整的Keycloak重定向URL被列为Azure AD应用程序注册的“Reply URLs”之一。

PS- 应用程序的APP ID URI属性(截至2019/04)目前不在App Registrations(预览)面板中 - 您需要转到App Registrations> {app name} > Settings > Properties

希望能对你有所帮助


0

如果您的Keycloak日志与我的类似,可能会出现类似于Assertion _5c69599c-cf6a-4965-934c-6221a6b8a800 is not addressed to this SP的内容。

在我尝试连接到Microsoft Azure AD SAML时,我的解决方案是:

  1. https://portal.azure.com/上,将Application ID URI设置为https://<host>.co/auth/realms/<realm>

  2. 在Keycloak实例中,在IdP配置中,将Keycloak设置中的Service Provider Entity ID也设置为https://<host>.co/auth/realms/<realm>


-2
在 Keycloak 中创建一个新的领域并尝试它确实有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接