WSO2 Api Manager(wso2am-4.0.0) - 默认令牌端点是否在 wso2am-4.0.0 中更改?

WSO2 Api Manager(wso2am-4.0.0) - Is the default token endpoint changed in wso2am-4.0.0?

在最新的WSO2 Api管理器中,默认的token端点似乎已经改为https://localhost:9443/oauth2/token

在以前的版本中,令牌端点是 https://localhost:8243/token 并且调用此端点会生成 404 资源未找到错误。

是否可以在最新的 WSO2 Api 管理器中启用以前的令牌端点,或者默认使用 oauth2 令牌端点?

在API-M 4.0.0 之前的版本中,令牌端点仍然是https://localhost:9443/oauth2/token。但是代理 (https://localhost:8243/token) 用于调用此端点。您可以通过查看 <API-M_HOME>/repository/deployment/server/synapse-configs/default/api 目录中的 _TokenAPI_.xml 文件来了解这一点。

从API-M 4.0.0 开始,这个代理已经被移除,直接调用令牌端点(https://localhost:9443/oauth2/token)。

对于所有 APIM 版本,OAuth2 令牌端点是 https://localhost:9443/oauth2/token

在 APIM 4.0.0 版本之前,我们添加了一个新的代理 API 到网关,它将接收到 https://localhost:8243/token 的请求路由到原始令牌端点 https://localhost:9443/oauth2/token。如果在 4.0.0 之前的 APIM 版本中检查 <APIM_HOME>/repository/deployment/server/synapse-configs/default/api 目录,您可以找到几个通过网关代理的端点(_TokenAPI_.xml_RevokeAPI_.xml 等)。

从 4.0.0 开始,我们删除了令牌调用的额外跃点 (_TokenAPI_.xml),并要求用户直接使用实际令牌端点 (https://localhost:9443/oauth2/token)。

如果你需要以前APIM 4.0.0版本的经验,只需将_TokenAPI_.xml添加到<APIM_HOME>/repository/deployment/server/synapse-configs/default/api目录,你就可以使用https://localhost:8243/token端点。

为了方便大家参考,我在这里复制了相同的XML。

<api xmlns="http://ws.apache.org/ns/synapse" name="_WSO2AMTokenAPI_" context="/token">
   <resource methods="POST" url-mapping="/*" faultSequence="_token_fault_">
      <inSequence>
         <property name="uri.var.portnum" expression="get-property('keyManager.port')" />
         <property name="uri.var.hostname" expression="get-property('keyManager.hostname')" />
         <send>
            <endpoint>
               <http uri-template="https://{uri.var.hostname}:{uri.var.portnum}/oauth2/token">
                  <timeout>
                     <duration>60000</duration>
                     <responseAction>fault</responseAction>
                  </timeout>
               </http>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <send />
      </outSequence>
   </resource>
   <handlers>
      <handler class="org.wso2.carbon.apimgt.gateway.handlers.ext.APIManagerCacheExtensionHandler" />
      <handler class="org.wso2.carbon.apimgt.gateway.handlers.common.SynapsePropertiesHandler" />
   </handlers>
</api>

将其保存到名为 _TokenAPI_.xml 的 XML 文件中,并将其添加到上述目录中。之后,您可以使用https://localhost:8243/token获得令牌。