WSO2 APIM 2.0是否可以自定义或重定向到/ token URL

时间:2017-05-04 07:38:04

标签: oauth wso2 wso2-am wso2carbon

我将我的API从较旧的系统迁移到WSO2 APIM 2.0.0,并尝试让我的API用户对该交换机透明。我已经迁移了现有的consumer_key / secrets。

是否可以将/ token API自定义为其他内容?

在我的旧系统中,OAuth令牌通过类似的路径进行管理 /的OAuth / client_credential /的accessToken

也许可以将/ oauth / client_credential / accesstoken映射到/ token以便两者都可以使用?

2 个答案:

答案 0 :(得分:0)

如果你只想更改/ token api的基本路径,你可以在api manager前面使用一些反向代理(例如nginx),或者在api manager本身内部创建一个这样的代理api。

<api xmlns="http://ws.apache.org/ns/synapse" name="_WSO2AMTokenAPIProxy_" context="/oauth/client_credential/accesstoken">
    <resource methods="POST" url-mapping="/*" faultSequence="_token_fault_">
        <inSequence>
        <property name="uri.var.portnum" expression="get-property('https.nio.port')"/>
            <send>
                <endpoint>
                     <http uri-template="https://localhost:{uri.var.portnum}/token">
                        <timeout>
                            <duration>60000</duration>
                            <responseAction>fault</responseAction>
                        </timeout>
                    </http>
                </endpoint>
            </send>
        </inSequence>
        <outSequence>
            <send/>
        </outSequence>
    </resource>
    <handlers/>
</api>

您需要将其复制到<APIM_HOME>/repository/deployment/server/synapse-configs/default/api/_WSO2AMTokenAPIProxy_.xml

答案 1 :(得分:0)

解决方案Bhathiya建议工作,只需调整代理端点

<api xmlns="http://ws.apache.org/ns/synapse" name="_WSO2AMTokenAPIProxy_" context="/oauth/client_credential/accesstoken">
<resource methods="POST" url-mapping="/*" faultSequence="_token_fault_">
    <inSequence>
        <send>
            <endpoint>
                 <http uri-template="http://127.0.0.1:8280/token">
                    <timeout>
                        <duration>60000</duration>
                        <responseAction>fault</responseAction>
                    </timeout>
                </http>
            </endpoint>
        </send>
    </inSequence>
    <outSequence>
        <send/>
    </outSequence>
</resource>