WSO2 API管理器及其后端API服务器(在Azure上)都在使用OAuth2。
它们都使用如下相同的标题:
WSO2 API管理器
授权:无记名72135e9f1dc96201949351261284dc7
API服务器
授权:无记名MfGb9pnTEGVWmDyjlfSZjlxhc8pFtef
我使用Rest客户端进行测试。我发现我可以传递WSO2 API管理器OAuth2,但不能传递API OAuth2。
消息是:“此请求的授权已被拒绝。”由API返回。
如何通过重新配置WSO2 API管理器来解决这个问题?
非常感谢。
发布于 2015-07-19 13:46:05
当向带有授权头的WSO2 API管理器发出请求时,它将读取令牌,对密钥管理器进行验证,并在调用后端API服务器之前删除该令牌。如果要向后端API服务器添加另一个授权头,可以在该API中按顺序定义中介extension1,并通过头中介器添加授权令牌。
<header name="Authorization" value="Bearer MfGb9pnTEGVWmDyjlfSZjlxhc8pFtef"/>发布于 2016-07-04 19:20:34
这正是你想要的:
https://docs.wso2.com/display/AM190/Pass+a+Custom+Authorization+Token+to+the+Backend
你做你的第二个授权头“自定义”。然后,在wso2处理您的请求后,它将通过上述中介更改回“授权”标题。
我已经在几个项目中实施了,而且效果非常好。
希望这能有所帮助。
发布于 2015-07-16 12:33:49
您可能希望尝试在ESB上通过api路由您的WSO2 API,并在新消息中(例如在标头中介器中)添加新的OAuth2头(用于OAuth2 api),然后将其发送到后端api。
您不能重用相同的OAuth令牌。
https://stackoverflow.com/questions/31451794
复制相似问题