Keycloak:如何对登录的Windows用户自动进行身份验证?

时间:2019-06-11 14:53:56

标签: c# active-directory ldap keycloak openid-connect

我正在尝试创建一个 C#应用程序,该应用程序将使用 Keycloak 进行身份验证。目前,我可以通过发送以下REST请求,使用 OpenID Connect 以用户身份登录:

POST
http://{server}:{port}/auth/realms/{myRealm}/protocol/openid-connect/token

Body (x-www-form-urlencoded):
    client_id    {myClient}
    username     FooBar
    password     {userPassword}
    grant_type   password

发送此请求会同时获取访问令牌刷新令牌

现在,我希望能够使用“当前活动的Windows会话” 以某种方式登录(获取令牌或以其他方式对用户进行身份验证),这表示用户(存在于<当前登录Windows的strong> Active Directory LDAP )应该在不提供任何凭据的情况下进行身份验证。

Keycloak领域中的 User Federation 已经包含AD LDAP服务器的配置,因此Keycloak中现在也可以使用所有用户。

我浏览了Keycloak文档(尤其是关于LDAP and Active DirectoryKerberos的部分),但不太了解要使其正常工作需要做什么。

我也在此处搜索了SO,但我发现唯一相关的是some other user mentioning that this should be possible

有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

用密钥斗篷术语,您要求进行SPNEGO身份验证 参见https://www.keycloak.org/docs/latest/server_admin/index.html#_kerberos

在领域身份验证选项卡中,您需要启用Kerberos 您的浏览器需要启用SPNEGO。不同的浏览器执行此操作的方式有所不同。您为SPNEGO启用了特定的URL