如何使用WSO2 AM来调用使用OATH

时间:2018-01-19 13:42:32

标签: wso2 wso2-am

使用我的API网关WSO2,我想调用使用OAuth(ACCES-Token)保护的后端服务(我的端点)。但我找不到怎么做。

在WSO2网站上甚至提到,通过使用API​​发布者(WSO2 AM),您只能配置API来调用使用用户名/密码保护的服务:https://docs.wso2.com/display/AM210/Working+with+Endpoints

您无法通过API Publisher中创建的API调用使用OAuth保护的后端服务。目前,您只能拨打使用用户名/密码保护的服务。

您是否知道在不使用API​​发布者的情况下是否还有其他方法可以执行此操作?

Mu浏览器(SET API网关访问令牌) - API Gatewau WSO2(设置我的后端服务访问令牌) - >我的后端服务

谢谢!

2 个答案:

答案 0 :(得分:0)

  

您无法通过API Publisher中创建的API调用使用OAuth保护的后端服务。目前,您只能拨打使用用户名/密码保护的服务。

从API发布器中开箱即用,您可以使用基本身份验证(用户名和密码)直接使用后端进行身份验证

  

您是否知道在不使用API​​发布者的情况下是否还有其他方法可以执行此操作?

好 - 发布商应用程序始终参与

  

我想调用使用OAuth保护的后端服务(我的端点)(ACCES-Token)

如何使用后端进行身份验证有多种方法,并非所有方法都如此简单

  1. 基本身份验证(这是您不想要的)
  2. JWT令牌 - API管理器能够将带有API调用的签名JWT令牌发送到后端,后端服务可以从JWT令牌中验证和提取客户端详细信息。
  3. 使用入站中介配置,您可以操作请求有效内容和元数据
  4. 使用第3点,您应该能够发送自定义OAuth / Authorization标头。问题是 - 您的服务正在验证/授权哪个身份提供商?

    问题在于,没有统一的配置,您的服务客户端(API管理器调用后端)将如何获取/缓存/刷新/撤销可与所有可能的身份提供商一起使用的令牌。 / p>

    从理论上讲,您可以使用入站中介(序列)实现与外部IdP的OAuth身份验证,但我强烈建议不要为了可维护性而将任何复杂的API中介放在一起(在那里,做到了,搞错了)< / p>

    也许最简单的选择是拥有永久性令牌pass in the HTTP headers,听起来很简单。

答案 1 :(得分:0)

您可以尝试自定义Oauth2中介。 https://github.com/imesh/wso2-oauth-mediator