2013-07-25 37 views
0

我们有一个正在响应正确的已部署API;但是它为沙盒与生产配置了不同的URL端点。WSO2 API管理器不会根据Sandbox密钥指向Sandbox

当我向API管理器请求一个请求时,它总是生产端点,尽管我提交了哪个持票人令牌,它仍然会被击中。身份验证正在工作,就像我提交无效的持证人令牌一样,我得到未经验证的错误。

任何错误配置可能的线索?

(1.4.0版本)

回答

1

当你提到的问题来看,我认为你已经使用了“生产”范围的访问令牌来调用沙箱端点。

在创建API时将两个不同的端点定义为沙箱URL和生产URL后,要调用它们,您需要根据其范围[PRODUCTION/SANDBOX]使用不同的访问令牌。

要从您的API调用SANDBOX端点,您需要使用SANDBOX访问令牌。 要查找这些生产和沙盒端点相关密钥,您可以导航到APIStore-> My Subscriptions页面,并在特定预订的'production'和'sandbox'部分下查看密钥。并在每个'PRODUCTION/SANDBOX'密钥部分的订阅页面,您将看到一个单独的访问令牌和使用者密钥/秘密。

尝试调用您的SANDBOX API端点,并在APIStore的“我的订阅”页面中显示沙箱访问令牌,或者您可以使用基于沙箱的使用者密钥/密码来生成沙盒范围用户令牌[1]并使用这些令牌调用基于API沙箱的端点。

生成沙箱范围用户令牌的示例cURL请求如下; 卷曲-k -d “grant_type =密码&用户名= XXX &密码= XXX &范围= SANDBOX” -H “授权:基本base64encoded_SANDBOX_based_consumer键:秘密,内容类型:应用程序/ x WWW的形式进行了urlencoded” https://ip:8243/token

[1] http://docs.wso2.org/wiki/display/AM140/Token+APIs#TokenAPIs-GeneratingusertokensGenerating