3

Java JAX-RS を使用して構築された REST API があります。API は公開され、OAuth 2.0 によって保護されます。

私が構築している内部プロジェクトからこの API を使用する予定です。これは私の API であるため、ユーザーがこの API の呼び出しを許可することを期待していません。

現在、フィルターを使用してアクセス トークンを確認し、OAuth プロバイダー、構成のサンプルに対して検証しています。

<!-- Exposing the facility service as a REST service -->
<jaxrs:server id="restContainer" address="/">
    <jaxrs:serviceBeans>
      .. services beans
    </jaxrs:serviceBeans>
    <jaxrs:providers>
      <ref bean="oauthFilter"/> <-- filter to validate oauth
      <ref bean="apiUsageFilter"/> <-- filter to check api usage (integrated with 3scale)
      <ref bean="jacksonProvider" />
      <ref bean="exceptionMapper" />
    </jaxrs:providers>
    <jaxrs:extensionMappings>
      <entry key="json" value="application/json" />
      <entry key="xml" value="application/xml" />
      <entry key="html" value="text/html" />
    </jaxrs:extensionMappings>
    <jaxrs:features>
      <bean class="org.apache.cxf.feature.LoggingFeature"/>  
    </jaxrs:features>
</jaxrs:server>

呼び出しの発信元を確認する新しいフィルターを実装できるかどうか疑問に思っています。それがリストされた IP(s)/domain(s) の中からのものである場合は oauth をバイパスし、そうでない場合は oauth に進みます。

そのアプローチは可能ですか?それは良い習慣になるでしょうか?長所と短所?

ありがとう!

4

1 に答える 1

1

解決策は簡単でした。サーバー間アプリケーション用のクライアント認証付与と、OAuth 2.0 サーバーでのモバイル アプリ (バックエンドを持たない) 用のリソース オーナー クレデンシャル認証付与を実装しました。

于 2014-01-25T17:02:30.543 に答える