通过使用外部IDP代理的KeyCloak进行程序化用户名/密码访问

本文介绍了通过使用外部IDP代理的KeyCloak进行程序化用户名/密码访问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!,我正在使用Identity Brokering功能和外部IdP。因此,用户登录到外部IdP用户界面,然后KeyCloak Broker客户端从外部IdP接收JWT令牌,KeyCloak提供JWT供我们访问资源。我已经设置了Default Identitiy Provider功能,以便在登录时向用户显示外部IDP登录屏幕。这意味着用户及其密码存储在外部IdP上。,当我需要在测试中以编程方式使用”Direct Access Grant”(资源所有者密码授予)登录时,会出现这个问题。由于密码没有存储在KeyCloak上,登录时我总是从KeyCloak收到401未经授权的错误。当我试图更改用户密码时,它开始起作用了,所以问题是用户密码没有在KeyCloak上提供,并且使用”Direct Access Grant”KeyCloak在编程登录时不会调用外部IDP。,我使用以下代码来获取访问令牌,但每次传递有效的用户名/密码时都会收到401错误。,已为该客户端启用直接访问授权。,有没有办法解决这个问题?例如,在”Direct Access Grant”上调用Identity Broker,以便KeyCloak向我们提供其有效令牌?,问题在于KeyCloak没有来自初始身份提供者的有关密码的信息。它们具有token exchange feature,应用于编程令牌交换。,External Token to Interanal Token Exchange应使用它。,下面是一个用Python语言编写的示例代码,它可以执行此操作(只需在占位符中放置正确的值):,这篇关于通过使用外部IDP代理的KeyCloak进行程序化用户名/密码访问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册