2017-11-17 7 views
1

私たちはAPI管理のためにWSO2 APIマネージャ1.10.0を使用します。私は以前スコープからロールへのマッピングによって制限されたAPIをセットアップしました。今度は、このAPIの複数のバージョンを処理する必要があります(すべてのクライアントが同時に新しいバージョンに移行できるわけではありません)が、同じスコープ(スコープキーとスコープ名)を再利用できないようです。と?WSO2 APIマネージャーで複数のAPIバージョンのスコープキーを再利用しますか?

これは奇妙に思われますか?それは、APIの各バージョンごとに独自のスコープからロールへのマッピングを作成する必要があることを意味しますか?つまり、/ default APIを使用しているユーザは、使用しているAPIのバージョンに応じてアクセストークンを要求する際にスコープ名を更新する必要があります。

ここではどのような戦略を使用する必要がありますか?通常、スコープキー<API-Name>-<Restriction-Key>を使用してスコープを作成します。今は<API-Name>-<Version>-<Restriction-Key>を使用する必要があります。また、ユーザーが移行するときに、アクセストークンを正しいバージョンに要求するときにスコープを更新する必要がありますか?

GoogleのAPIの新しいバージョンに何らかの形で切り替えるときに、ユーザーが同じスコープをそのまま使用してもよいか、APIの特定のバージョンに一意に関連付けられていることが本当にありがとうございます。

答えて

0

これに対する回答が見つかりました。

まず、パブリッシャで「新しいバージョンを作成」を使用して新しいバージョンのAPIを作成すると、スコープを再利用できます。新しいスワッガー仕様をインポートしようとするとスコープは削除され、「管理フェーズ」で再利用することはできません。

実際にスコープは、/_system/governance/apimgt/applicationdata/provider/<provider-name>/<api-name>/<api-version>/swagger.jsonの下のリポジトリに保存されたswagger-documentで指定されていることがわかりました。 swagger-documentには、スコープ(「管理フェーズ」中にパブリッシャが読む)を含む「x-wso2-security」というプロパティがあります。 swagger-documentにスコープを追加すること(例えば、以前のAPIバージョンからx-wso2-securityプロパティをコピーするなど)を行い、リソースを保存してパブリッシャを開くと、スコープは " 「管理フェーズ」。

これは、WSO2開発チームがパブリッシャーを作成するときに見逃したものだと思いますが、うれしいことに、上で説明した手動作業を行うことで回避できます。

関連する問題