我正在尝试使用keycloak在我的Web应用程序和IDP Azure AD之间进行saml代理。
我在Azure AD中创建了很少的用户,并在那里添加了我的webapp作为应用程序。我已使用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应用程序标识符,它是Azure中的一些字符串键 - >应用程序
我相信你可能会遗漏两件事:
App ID URI
字段必须替换为Keycloak身份提供程序的重定向URI,但最后没有“/broker/...../endpoint”部分。例如,如果您的身份提供者名为myprovider
,名为myrealm
,您的重定向URI可能看起来像这个https://mykeycloakserver/auth/realms/myrealm/broker/myprovider/endpoint
,因此您需要在Azure AD中使用App ID URI的值如下所示:https://mykeycloakserver/auth/realms/myrealm
PS - 应用程序的APP ID URI属性(当前,截至2019/04)在App Registrations(预览)面板中可用 - 您需要转到App Registrations> {app name}> Settings> Properties
希望有所帮助