Spring security 通过WSO2 API管理器访问oauth2安全服务

Spring security 通过WSO2 API管理器访问oauth2安全服务,spring-security,wso2,microservices,Spring Security,Wso2,Microservices,我有一个项目,其中有几个使用spring oauth2保护的微服务。我已经在WSO2 API Manager上发布了这些服务,并禁用了WSO2的oauth2功能,因为我的服务已经使用spring oauth2保护。现在,当我访问在WSO2上发布的服务时,使用spring oauth2的令牌,我得到了状态代码0“无响应”或状态代码403“未授权”的响应。这可能是什么问题。WSO2AM(API管理器)使用OAuth协议授权客户端,后端服务应信任提供服务授权的WSO2AM API管理器无法(默认情况下

我有一个项目,其中有几个使用spring oauth2保护的微服务。我已经在WSO2 API Manager上发布了这些服务,并禁用了WSO2的oauth2功能,因为我的服务已经使用spring oauth2保护。现在,当我访问在WSO2上发布的服务时,使用spring oauth2的令牌,我得到了状态代码0“无响应”或状态代码403“未授权”的响应。这可能是什么问题。

WSO2AM(API管理器)使用OAuth协议授权客户端,后端服务应信任提供服务授权的WSO2AM

API管理器无法(默认情况下)验证后端服务的令牌

据我所知,WSO2 AM清除后端服务的“授权”头。(我错了就纠正我)

您的选择:

  • 设置一个适当的环境,其中APIM用于授权用户。APIM可以向具有用户标识和属性的后端服务发送JWT令牌,后端服务将验证并信任包含用户标识和属性的APIM JWT令牌。我真的建议你坚持APIM的工作方式,不要试图强迫它以另一种方式工作

  • 如果您确实必须使用自己的OAuth令牌,则可以在不同的头中发送授权令牌(不会被清除)

  • 您可以创建一个自定义中介流,以将授权头重新输入到请求中(我不确定您是否也需要更新公开的api中介流,还是不需要跳过默认授权器)


  • “禁用WSO2的oauth2功能”是什么意思?这意味着我可以访问已发布的API,而无需提供API管理器的任何授权令牌。为了禁用WSO2基于令牌的授权,我在API publisher的Managed选项卡上将x-auth-type选择为none。