3

次の問題があります:

私は操作を持つJAX-RSサービスを持っていgetます:

@Path("/unsecure/")
@Produces("application/json")
public class MyUnsecureService {
    public MyUnsecureService() {

    }

    @GET
    @Path("/get/{id}")
    @Produces("application/json")
    public User get(@PathParam("id") String id) {
        return User.get(id);
    }
}

ここで、この API をモバイル デバイス用に開きます。この API にアクセスするには、認証と承認のメカニズムが必要です。

私の問題は、信頼できるアプリ (内部ジョブ、私のホスティングで実行される Web サイト) を持っていることです。これらのアプリは、この API を無制限に公開できるはずであり、モバイル デバイスは、必要な場合にのみこの API を公開できるはずです。それらには、実際のユーザーの暗号化されたログイン/パスを使用して形成されたトークンがあり、サービス側で次のことを決定するために使用できます。

  1. そのメソッドへのリクエストが許可されている場合。
  2. パラメータが正しい場合 (そのため、ユーザーは他のユーザーの情報を取得できません)。

OAuth1またはOAuth2を使用してこれを行うことは可能ですか?

4

2 に答える 2

0

答えは次のとおりです。

Apache CXF の OAuth2 実装に実装されているクライアント資格情報とリソース所有者の承認付与を使用します。

于 2013-06-27T12:26:24.500 に答える
0

これは非常に有効な質問です。

Oz (背景)を見たいと思うかもしれません。これは、AFAIU がユースケースに大いに役立ちます。個人的には、Java の問題を解決し、Eran の Java 実装 ( jironhawkj ) に関する作業を追跡することに関心があります。最後に Java で Oz (またはそれに似たもの) を実行します。

現時点ではまだ公開できる段階に達していませんが、詳細についてはお問い合わせください。

現在の JAX-RS の特定の問題はSecurityContextのようです。

于 2013-06-01T22:28:49.110 に答える