在wso2 API管理器1.8.0中使用Curl命令重新生成Application AccessToken时获取错误

时间:2015-12-24 09:05:22

标签: curl wso2 wso2-am

我正在尝试使用Curl Command重新生成应用程序访问令牌。我已经安装了wso2 1.8.0版本。当我试图在命令下面开火时我正在

gulp

命令:

{"error" : true, "message" : "Error occurred while executing the action generateApplicationKey"}

请帮忙。问题在哪里?

wso2carbon.log中的堆栈跟踪:

curl -X POST -b cookies http://localhost:9763/store/site/blocks/subscription/subscription-add/ajax/subscription-add.jag -d 'action=generateApplicationKey&application=test&keytype=PRODUCTION&callbackUrl=&authorizedDomains=ALL&validityTime=360000'

1 个答案:

答案 0 :(得分:1)

如果您已生成一次访问令牌和使用者密钥和密钥,则可以将它们与token api一起使用以重新生成访问令牌。无法使用您指定的curl重新生成访问密钥,因为它用于生成应用程序密钥作为指定的操作,而不是用于重新生成。

作为如何使用生成的消费者密钥和第一个卷曲请求的秘密重新生成访问令牌的摘要

curl -X POST -b cookies http://localhost:9763/store/site/blocks/subscription/subscription-add/ajax/subscription-add.jag -d 'action=generateApplicationKey&application=test&keytype=PRODUCTION&callbackUrl=&authorizedDomains=ALL&validityTime=360000'

低于步骤。

  1. 使用生成的使用者密钥和秘密以下列格式
  2. 创建base64编码的令牌

    <consumer_key>:<consumer_secret>

    1. 创建此调用
    2. curl -k -d "grant_type=password&username=<username>&password=<password>" -H "Authorization: Basic <base64 encoded token in step 1>, Content-Type: application/x-www-form-urlencoded" https://localhost:8243/token

      这将产生访问令牌和刷新令牌。

      1. 您可以使用步骤2中生成的刷新令牌重新生成访问令牌,如下面的调用
      2. curl -k -d "grant_type=refresh_token&refresh_token=<retoken>&scope=PRODUCTION" -H "Authorization: Basic <base64 encoded token in step 1>, Content-Type: application/x-www-form-urlencoded" https://localhost:8243/token