gpt4 book ai didi

java - WSO2 是 : Custom Federated Authenticator using same form as basic authenticator

转载 作者:行者123 更新时间:2023-12-01 16:26:01 27 4
gpt4 key购买 nike

我们正在我们的基础设施中引入 WSO2 Identity Server,需要两种身份验证方法,但如果可能的话,使用相同的登录表单,而不重定向到外部表单(例如 facebook 登录)。

我们的想法是,我们有“普通”和“高级”用户,普通用户将使用 WSO2 IS 提供的基本身份 validator (使用电子邮件作为用户名)进行身份验证,而高级用户则具有特定类型的用户名(比方说“高级用户 XXXX”),并且他们的身份验证正在现有 API 的特定资源上进行处理和批准。

因此,我想做的是获得 WSO2 显示的基本身份验证表单,并且当我识别高级用户用户名格式时,将身份验证委托(delegate)给上述 API。

我知道为了委托(delegate)给外部服务,我需要引入一个联合身份 validator - 这不是这里的问题。我的问题是如何执行以下操作:

  • 重复使用相同的表单并在幕后处理不同的情况
  • 根据用户名模式将责任分配给自定义联合身份 validator

有人做过类似的事情吗?是否有可能实现我想要做的事情?

最佳答案

对于您的用例,您可以 write a local authenticator扩展默认 BasicAuthenticator .

在processAuthenticationResponse中,您可以检查用户名模式并调用外部API并对用户进行身份验证,否则您可以调用 super

<小时/>

还有另一种选择,我们可以实现专用的身份 validator 和页面来使用外部 API 进行身份验证。

在 SP 配置中,第一步首先设置标识符,第二步设置默认基本和自定义身份 validator 。然后从标识符中提供的用户名中首先选择第二步身份 validator 。这可以通过 authentication script 中的“authenticationOptions”来完成

关于java - WSO2 是 : Custom Federated Authenticator using same form as basic authenticator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62146373/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com