WSO2 IS:使用与基本身份验证器相同的形式的自定义联合身份验证器

问题描述 投票:0回答:1

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

[想法是,我们拥有“普通”和“高级”用户,普通用户将使用WSO2 IS提供的基本身份验证器(使用电子邮件作为用户名)进行身份验证,而高级用户具有特定类型的用户名(例如,“用户XXXX“)及其身份验证正在通过现有API在特定资源上处理和批准。

因此,我想做的是获得WSO2所示的基本身份验证表格,当我标识超级用户用户名格式时,将身份验证委托给上述API。

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

  • 重复使用相同的表单并处理幕后的不同案件
  • 根据用户名模式将职责分配给自定义和联合身份验证器

有人能做类似的事情吗?甚至有可能实现我想要的目标吗?

java wso2 wso2is wso2carbon
1个回答
0
投票

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

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


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

在SP配置中,首先将标识符设置为第一步,然后将默认的基本和自定义身份验证器设置为第二步骤。然后,从标识符中提供的用户名中,首先选择第二步身份验证器。可以通过authentication script

中的“ authenticationOptions”来完成
© www.soinside.com 2019 - 2024. All rights reserved.