1

開発者にアプリケーション用の REST API を提供する BaaS ソリューションを開発しています。SSL に加えて、アプリケーション (トークン?) とクライアント (ユーザーとパスワード) の両方を認証する REST API を保護したいと考えています。

クライアントの基本認証とアプリケーション認証のトークンについて考えていましたが、登録段階でアプリケーション開発者に与えられた単純な UUID トークンが REST API を保護し、アプリケーションを認証する方法については考えられません。

OAuth についても読みましたが、認証メカニズムのソリューションとしては適していないと思います。

これを正しい方法で達成するにはどうすればよいですか?

ありがとう!

4

2 に答える 2

1

ユーザー認証に「基本認証」を使用し、リソースへのアクセスに「トークン認証」を使用することは、良い (そして一般的な) アプローチのようです (SSL 全体)。基本的にこれをサポートするには、SSL 経由で「基本認証」(ユーザー名/パスワード) を使用してユーザー認証を行い、肯定的な「認証」に基づいて、ユーザーに「ベアラー トークン」(または認証トークン) が与えられます。ユーザー資格情報は通常、認証トークンと同様に DB に (ハッシュ化およびソルト化されて) 格納されます。取得したトークンに基づいて、ユーザーは API リソースにアクセスできます (これも SSL を介してチャネルのセキュリティを最大限に高めます)。時々 (またはデバイスごとに) トークンを変更できます。

RESTful Web サービスの開発に使用しているテクノロジーがわからない。Java では、Apache Shiro ( http://shiro.apache.org/ ) を使用しています。これにより、これらすべてのアクティビティ (基本認証、トークンベースの認証、データの暗号化 (ハッシュ + ソルティング) をサポートして DB に保存することができます。など - shiro でこのアプローチを設定する方法について書いた別の投稿を見てください: https://stackoverflow.com/a/17950339/1029673 )。

HTH。

于 2013-09-30T07:36:45.897 に答える
0

最後に、私のセキュリティ スキーマに適合する OAuth 2.0 リソース オーナー パスワード フローを思いつきました。

ありがとう!

于 2013-10-03T23:57:28.787 に答える