You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WSO2 APIM的Basic Authorization中获取API调用方用户名?

解决WSO2 API管理中不同授权类型下提取用户名的问题

针对你遇到的$ctx:api.ut.userName仅在OAuth认证时有效、Basic认证时返回NULL的问题,最简单的兼容方案是利用WSO2的内置属性和fn:coalesce()函数,一次性覆盖两种授权场景:

<log level="custom">
  <property name="USER_NAME" expression="fn:coalesce($ctx:api.ut.userName, $ctx:REMOTE_USER)"/>
</log>

说明:

  • $ctx:api.ut.userName:OAuth认证场景下会返回正确的用户名
  • $ctx:REMOTE_USER:Basic认证场景下WSO2会自动将认证后的用户名存入该属性
  • fn:coalesce()函数会依次检查传入的属性,返回第一个非空的值,以此实现两种授权类型的兼容

内容的提问来源于stack exchange,提问作者m.feyzollahi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 18:27:04