0

私は WSO2 API Manager 1.3.0 を評価しており、Linux サーバーにデプロイしています。API を公開し、クライアント ユーザーとしてその API をサブスクライブし、その API のプロダクション キーも生成しました。

 Access Token       EnhC3kxAf6hL68pqMSr2gYwK950a
 Consumer Key       TyEqcYa4hytVPhpiQqRWVNiVIZ0a
 Consumer Secret    7VC9z347ZIzf_K_15rjsGyXcRIYa

RESTClient を介して API にアクセスし、http://docs.wso2.org/wiki/display/AM130/Subscribing+to+an+API および http://docs.wso2 に従って認証用のアクセス トークンを渡そうとする、 .org/wiki/display/AM120/Testing+an+API :

Authorization:Bearer EnhC3kxAf6hL68pqMSr2gYwK950a

エラーが発生する

<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>

私は何が欠けていますか?

4

2 に答える 2

0

パブリッシャー アプリから API を作成する場合、最後の入力フィールド セクションは「API リソース」の詳細を入力することです。そこで、URL パターンごとに各リソース動詞に対して異なる 3 種類の承認レベルを設定できます。

1.None- 特定の API を呼び出すために認証ヘッダーは必要ありません

2.Application-Application Access Token[ストアアプリでアプリごとに生成されるアクセストークン] APIの呼び出しに必要

3.アプリケーション ユーザー - API を呼び出すために必要なエンド ユーザー アクセス トークン [ストア内のアプリケーションごとに生成されたコンシューマー キー/シークレットを使用して、loginAPI から生成できる]

特定の API リソース URL を呼び出そうとする場合は、まず、正しい認証スキームで試行していることを確認する必要があります。たとえば、アクセスする API リソースの動詞認証スキームを「アプリケーション ユーザー」として設定し、アプリケーション アクセス トークンを使用してそのリソース動詞を呼び出すと、取得した同様のエラーがスローされます。

与えられた情報によると、アプリケーション アクセス トークンを使用して API を試しました。パブリッシャー アプリ -> 関連する API を参照 -> [API ページの編集に移動] に移動して、アクセスするリソース URL メソッドの認証スキームを「アプリケーション」として設定しているかどうかを再確認できますか。?

ありがとう;

/ララジ

于 2013-01-10T11:42:53.263 に答える
0

私はこの問題に直面しました - 実稼働 URL はhttp://xxx.xxx.xx.xx/services/rest/entity.json/searchのように構成され、コンテキスト /search、URL プレフィックスが search/1.0.0 および URL パターンでしたなので /*。- REST クライアントで /search/1.0.0/abc を実行すると、同じエラーが発生しました。

本番 URL をhttp://xxx.xxx.xx.xx/services/restにコンテキストを /searchとして設定すると、エラーが修正されました。API リソースを追加するときに、URL プレフィックスを /search/1.0.0 に、URL パターンを /entity.json/search/* に設定します。

于 2013-06-10T04:47:05.960 に答える