java是否有任何方法可以查询用户是否存在于基于SAML的身份提供程序中?
我只想检查用户是否存在于连接到SAML Identity provider的Active Directory或LDAP中,而无需通过浏览器执行完整的SSO。SAML IDP是否提供任何API用于用户查找而不实际执行SSO
你可以在下面搜索框中键入要查询的问题!
我只想检查用户是否存在于连接到SAML Identity provider的Active Directory或LDAP中,而无需通过浏览器执行完整的SSO。SAML IDP是否提供任何API用于用户查找而不实际执行SSO
# 1 楼答案
如果您使用的是单一身份提供者,那么可以使用SAML作为传递工具来验证用户是否存在。没有任何证据表明合作伙伴决定如何在他们之间实施该标准。IdP不必实际让用户登录,SP可以根据合作关系使用他们认为合适的数据。让律师来解决这个问题
从流程的角度来看,我可以看到它是这样工作的
作为服务提供商,您从希望验证的用户那里收集帐户信息。您向IdP发送一个带有应用程序捕获为主题的身份的AuthnRequest
IdP只是作为“身份验证过程”验证帐户是否在其存储库中。(Wink Wink)如果该帐户存在,IdP会向SP发回主题和状态“成功”的SamlResponse。如果不存在,则发回主题和状态“错误”
作为SP,您现在知道用户是否存在(好吧,至少您知道IdP声称什么),并且您可以对信息做任何您想做的事情
见鬼,你甚至可以埋了对不起?什么好的,你可以在iFrame中嵌入重定向过程,并向用户展示一个可爱的旋转器,一个有趣的猫gif。。。或者只是做一个能说明它在做什么的吧台,因为你应该对你的潜在用户诚实
你知道,当我们变得狂野和疯狂的时候,你可能实际上最好只使用一个安全的令牌服务,WS-Trust。但你没问这个。所以只要去研究一下,然后把它与我的建议和你的用例进行比较,看看什么是适合你需求的最佳选择
Sally forth将一个令人愉快的新用户体验包装在一个令人愉快的身份协议工作马周围,该协议将实现过程留给我们所有的构建者
# 2 楼答案
事实上,用SAML无法解决这个问题。在IdP上进行的身份验证实际上超出了SAML规范的范围。事实上,IdP本身并不需要授权来执行身份验证
# 3 楼答案
这就是你要找的吗SAML Token Validator。验证令牌后,可以使用
userService.findUserByXXX()
方法检查SAML令牌中的给定用户是否存在