WSO2是5.7.0 AuthenticationContext和UserOperationEventListener

WSO2是5.7.0 AuthenticationContext和UserOperationEventListener,wso2,wso2is,wso2carbon,Wso2,Wso2is,Wso2carbon,我正在开发一个UserOperationEventListener,以便在本地用户存储中使用JIT创建联邦用户之后执行一些操作 在doPostAddUser方法中,我必须读取身份验证上下文属性FrameworkConstants UNFILTERED\u IDP\u CLAIM\u值,因为有些索赔已被DefaultClaimHandler过滤掉,并且在Map,索赔变量中不可用 我知道我可以为IdP添加声明映射,但我更喜欢通过代码操纵这些声明:我如何在中访问当前AuthenticationCont

我正在开发一个
UserOperationEventListener
,以便在本地用户存储中使用JIT创建联邦用户之后执行一些操作

在doPostAddUser方法中,我必须读取身份验证上下文属性
FrameworkConstants

UNFILTERED\u IDP\u CLAIM\u值
,因为有些索赔已被DefaultClaimHandler过滤掉,并且在Map索赔变量中不可用

我知道我可以为IdP添加声明映射,但我更喜欢通过代码操纵这些声明:我如何在中访问当前AuthenticationContext
doPostAddUser


提前感谢。

无法访问UserOperationEventListener中的AuthenticationContext,根据WSO2 Identity Server设计架构,我们不应该这样做。若您想通过代码修改索赔处理逻辑,最好的方法是按照[1]编写自定义索赔处理程序


[1]

另一种可能的解决方案是,由于您使用的是Identity Server 5.7.0,因此可以在JIT期间利用自适应身份验证功能进行索赔转换

看一看[1]

user.localClaims[“<local_claim_url>”] 

user.remoteClaims[“<remote_claim_url”]
user.localClaims[“”]
user.remoteClaims[“您知道元素是否可以有多个ClaimHandler吗?如果元素可以有多个ClaimHandler,那么执行顺序是什么?如果元素只能有一个ClaimHandler,我是否必须扩展默认的ClaimHandler?您只能在“Extensions”中有一个“ClaimHandler”元素。是的,您可以扩展DefaultClaimHandler。”