如何在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
相关产品推荐
相关产品推荐

