WSO2 ESB使用OAuth令牌验证面向Rest服务 - 202响应

时间:2015-04-10 20:51:17

标签: api rest oauth wso2 esb

我正在尝试使用REST API来保护WSO2 ESB,方法是遵循以下方法:https://docs.wso2.com/display/ESB480/Securing+REST+APIs

我的API配置:

<?xml version="1.0" encoding="UTF-8"?>
<api xmlns="http://ws.apache.org/ns/synapse"
     name="Test"
     context="/test">
   <resource methods="GET">
        <inSequence>
            <log level="full">
               <property name="STATUS" value="***** REQUEST HITS IN SEQUENCE *****"/>
             </log>
         <send>
            <endpoint>
               <http method="get" uri-template="http://localhost:8080/document"/>
            </endpoint>
         </send>
      </inSequence>

   </resource>
    <handlers>
      <handler class="org.wso2.handler.SimpleOauthHandler"/>
   </handlers>
</api>

当我删除处理程序部分时,我可以看到我的服务被调用。但是当我包含ouath处理程序时,我可以看到我的WSO2 Identity Server接收到令牌验证调用,但ESB的响应始终是HTTP 202。

curl -v -X GET -H&#34;授权:Bearer UQFffmYViFDxTHfCLOwDpjcX3qXZYQuiJ8EgJ_m-F1V7JTgqb6lbyA8QMT3&#34; http://localhost:8285/document

> GET /document HTTP/1.1
> User-Agent: curl/7.33.0
> Host: 192.168.2.162:8285
> Accept: */*
> Authorization: Bearer UQFffmYViFDxTHfCLOwDpjcX3qXZYQuiJ8EgJ_m-F1V7JTgqb6lbyA8QMT3
>
< HTTP/1.1 202 Accepted
< Date: Fri, 10 Apr 2015 20:44:57 GMT
* Server WSO2-PassThrough-HTTP is not blacklisted
< Server: WSO2-PassThrough-HTTP
< Transfer-Encoding: chunked

关于我缺少什么或如何调试的任何指示都将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

事实上,我的访问令牌问题。使用正确的令牌是正确的。也可以使用OAuth介体代替处理程序。

<api xmlns="http://ws.apache.org/ns/synapse"
     name="Test"
     context="/test">
   <resource methods="GET">
        <inSequence>
            <log level="full">
                <property name="STATUS" value="***** REQUEST HITS IN SEQUENCE *****"/>
            </log>
            <oauthService remoteServiceUrl="https://localhost:9445/services/" username="admin" password="admin"/>    
         <send>
            <endpoint>
               <http method="get" uri-template="http://localhost:8080/document"/>
            </endpoint>
         </send>
      </inSequence>
   </resource>
</api>