2016-06-01 7 views
0

RESTful APIにアクセスする際に、モバイルクライアントのユーザーを認証する最善の方法を探しています。たとえば、AirBnbがauthモジュールをどの程度使用しているかなどです。Java Spring Frameworkに基づいて構築されたRESTful APIサーバーでクライアントを認証する

RESTfulセッションと基本セッションベースのリソースの認証が異なる必要がありますか?同じデータを使用していますか?

私はモバイル開発者ではないため、モバイル側の開発者が簡単に使用できるように、サーバー側からの認証を提供する最良の方法は何かに興味があります。

私は、OAuth、OAuth2、HTTPBasic認証を使用していくつかのアプローチを試していますが、モバイル開発者がどのようにこのAPIを使用できるか、またどのようにこのトークンを保存するのか不思議です(ブラウザでブラウザに保存されます)。

プロダクションやペットプロジェクトなどで使用したリンク/コードサンプル/技術を教えてください。

答えて

1

認証のためのOAuth(2)の簡単で管理しやすい方法はJWTです。

追加のインフラストラクチャは必要ありません。ワークフローと使用は簡単であり、すでに利用可能な主要言語すべてにライブラリを使用できるようになっています。 HTTP基本認証JWTに比べ

だけではなく、資格情報の追加情報を送信することにより、より柔軟性があり、あなたはJSONとしてJWTトークンを保存したり、クッキーを使用することができ、あなたは、クライアント側の資格情報を格納する必要があり、あなたドンはありません要求ごとに資格情報を送信しません。

また、JWTに基づいて、非常に簡単にシングルサインオン機能を実現することができます。ですから、シンプルなシステムユーザー以上のものが必要な場合は、間違いなくJWTを試してください。

+0

アドバイスをいただきありがとうございます。しかし、OAuthなどのサポートを開始する予定がある場合、ユーザーは別のサービス(興味のあるもの)で認証を受けることができます。別のサービスで認証するときに「サービスプロバイダを使用する」という意味ですか? – cingulata

+0

@MaxKuzmentsov、Google、Facebook、Yahooなどの認証サービスが提供しているということですか? –

+0

はい、GitHub、Airbnbなどのようなものです。 – cingulata

関連する問題