从WSO2 RESTClient获取不正确的访问令牌类型

从WSO2 RESTClient获取不正确的访问令牌类型,wso2,wso2-am,Wso2,Wso2 Am,我正在评估WSO2 API Manager 1.3.0,并将其部署在Linux服务器上。 我发布了一个API,然后作为客户机用户订阅了该API 并为其生成生产密钥 Access Token EnhC3kxAf6hL68pqMSr2gYwK950a Consumer Key TyEqcYa4hytVPhpiQqRWVNiVIZ0a Consumer Secret 7VC9z347ZIzf_K_15rjsGyXcRIYa 当我尝试通过RESTClient访问AP

我正在评估WSO2 API Manager 1.3.0,并将其部署在Linux服务器上。 我发布了一个API,然后作为客户机用户订阅了该API 并为其生成生产密钥

 Access Token       EnhC3kxAf6hL68pqMSr2gYwK950a
 Consumer Key       TyEqcYa4hytVPhpiQqRWVNiVIZ0a
 Consumer Secret    7VC9z347ZIzf_K_15rjsGyXcRIYa
当我尝试通过RESTClient访问API并根据和传入用于身份验证的访问令牌时:

我犯了一个错误

<ams:fault xmlns:ams="http://wso2.org/apimanager/security">
  <ams:code>900905</ams:code>
  <ams:message>Incorrect Access Token Type is provided</ams:message>
  <ams:description>Access failure for API: /test, version: 1 with key: EnhC3kxAf6hL68pqMSr2gYwK950a</ams:description>
</ams:fault>

900905
提供了不正确的访问令牌类型
API:/test的访问失败,版本:1,密钥:EnhC3kxAf6hL68pqMSr2gYwK950a

我缺少什么?

从publisher app创建API时,最后一个输入字段部分是输入“API资源”详细信息。在这里,您可以为每个url模式的每个资源动词设置不同的三种授权级别,如下所示:

1.None-调用特定API不需要授权标头

2.调用API所需的应用程序-应用程序访问令牌[商店应用程序中每个应用程序生成的访问令牌]

3.应用程序用户-调用API所需的最终用户访问令牌[可通过loginAPI使用存储中每个应用程序生成的消费者密钥/机密生成]

如果要尝试调用特定的API资源url,首先需要确保使用正确的授权方案进行尝试。例如,如果将访问API资源谓词授权方案设置为“应用程序用户”,如果尝试使用应用程序访问令牌调用该资源谓词,您得到的类似错误将被抛出

根据您给定的信息,您已尝试使用带有应用程序访问令牌的API。您是否可以通过进入Publisher app->浏览相关API->导航到编辑API页面,再次检查您是否已将访问资源url方法的身份验证方案设置为“应用程序”

谢谢,


/Lalaji

我遇到了这个问题-生产url的配置类似于上下文/搜索,url前缀为search/1.0.0,url模式为/*。-在REST客户机上执行/search/1.0.0/abc时,我遇到了相同的错误


将生产url设置为,并将上下文设置为/search时,此错误已修复。添加API资源时,将URL前缀设置为/search/1.0.0,URL模式设置为/entity.json/search/*。

我的每个资源都使用默认的身份验证“Application”。您好,很抱歉回复太晚。只想知道更多信息。您是否尝试使用与创建的API的APIStore视图中显示的相同URL调用API,不附加任何查询参数或更多url字符串部分?如果是..那么您可以检查您的正在尝试的API url是否以“/”结尾。如果不是,请尝试将“/”添加到正在尝试的API url结尾并进行检查。它会起作用。这需要添加,因为您已将API资源url模式定义为“/*”或“/xxxx”。但是,需要更正显示的错误[wso2.org/jira/browse/apimager-943]我们将在下一个版本中解决此问题。我只能通过将Auth设置为none来实现此功能。我尝试了上的说明,但均未成功。说明“在向用户部署API管理器之前,通过编辑文件/repository/conf/identity.xml中的标记来延长默认过期时间。”我将其更改为100天,重新启动了WSO2,重新创建了我的应用程序,但也没有成功。你能发布REST命令吗?
<ams:fault xmlns:ams="http://wso2.org/apimanager/security">
  <ams:code>900905</ams:code>
  <ams:message>Incorrect Access Token Type is provided</ams:message>
  <ams:description>Access failure for API: /test, version: 1 with key: EnhC3kxAf6hL68pqMSr2gYwK950a</ams:description>
</ams:fault>