与Azure AD进行keycloak集成以进行Web应用程序身份验证

时间:2019-02-22 08:38:47

标签: azure-active-directory saml keycloak

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

我在Azure AD中创建了几个用户,并在其中将我的Web应用程序添加为Application。 我已经用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领域URL,而不是Azure Application Identifier,后者是Azure-> Applications中的某些字符串键

2 个答案:

答案 0 :(得分:1)

我相信您可能缺少两件事:

  1. Azure AD应用程序注册属性中的App ID URI字段必须替换为Keycloak身份提供者的重定向URI,不带“ /broker/...../端点”部分。

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

  1. 确保完整的keycloak重定向URL在Azure AD应用程序注册中被列为“答复URL”之一。

PS-“应用程序注册(预览)”面板中不提供该应用程序的“应用程序ID URI”属性(当前为2019/04)-您需要转到“应用程序注册”>“ {应用程序名称}”>“设置”>“属性”

希望有帮助

答案 1 :(得分:-1)

在 Keycloak 中创建一个新领域并尝试帮助!