我正在尝试创建一个 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 Directory和Kerberos的部分),但不太了解要使其正常工作需要做什么。
我也在此处搜索了SO,但我发现唯一相关的是some other user mentioning that this should be possible。
有人可以指出我正确的方向吗?
答案 0 :(得分:0)
用密钥斗篷术语,您要求进行SPNEGO身份验证 参见https://www.keycloak.org/docs/latest/server_admin/index.html#_kerberos
在领域身份验证选项卡中,您需要启用Kerberos 您的浏览器需要启用SPNEGO。不同的浏览器执行此操作的方式有所不同。您为SPNEGO启用了特定的URL