2017-03-10 117 views
0

我已经安装了WS02 API管理器并使用oauth2保护了我的后端REST服务。WSO2 API管理器Outh令牌验证

这里是我的设置

IP1:使用默认inbuild密钥管理器API WSO2马槽。我在这里发布了我的API。

IP2:资源服务器正在此处运行。

我有一个会谈的关键马槽获得访问令牌,并创建API马槽公布的API成功调用简单的客户端应用程序。这里API管理器在将请求发送到我的资源服务器之前验证令牌。

我正在寻找以下配置。这可能

  1. 应用程序将要API管理器只用于生成令牌
  2. 应用将直接请求资源服务器与令牌
  3. 资源服务器需要验证与身份验证服务器的令牌。

我确实在WSo2识别服务器中看到他们建议使用基于SOAP的机制来验证令牌的解释。但是,我无法得到我们如何实现这一目标。

有人可以澄清,需要做什么修改资源服务器和API管理器才能获得上述流程。由于我只使用API​​管理器来生成令牌,因此只能使用Identity Server更有意义?

+0

在资源服务器上,我应该对认证服务器进行SOAP调用?我尝试了下面的curl --user admin:admin --header“Content-Type:text/xml”--header“SOAPAction:validate”-k -d @ soap.xml https://10.37.XX.XX: 8243/services/OAuth2TokenValidationService响应: – ram

+0

?xml version ='1.0'encoding ='UTF-8'?> axis2ns7:50978 ram

回答

0

让我先解释API管理器的用法。

API管理器用于为您的API提供一层附加功能,例如授权,限制和其他QoS内容。

所以基本想法是,你的API发布你WSO2 API管理器,它需要照顾的授权部分为您的API。因此,当客户端尝试通过API Manager访问您的API时,API Manager确保只有授权的客户端才能访问该API。

所以根据您的要求,似乎您想要在资源服务器上进行授权。在这种情况下,仅仅为了生成令牌才使用API​​管理器是没有意义的。

而应该使用WSO2 Identity Server。您的API客户端可以调用Identity Server的令牌端点来生成令牌并将其发送到API请求中。您可以通过WSO2 Identity Server here找到有关OAuth2的更多详细信息。

然后在资源上,您可以验证访问令牌。使用IS 5.3.0,有两种方法可以验证令牌。 OAuth2内省端点和SOAP服务。你可以找到更多的细节here

+1

感谢您的解释,我将着眼于如何验证oauth来自资源服务器的令牌。 – ram