Facebook との統合を使用して単純な REST API を設計しておりStormpath
、ユーザー認証に最適なパターンは何かを考えています。現在、ユーザー作成用のエンドポイントがないため、エンドポイントへのすべてのリクエストは次のように認証されます。
Application
アプリに基づいて構成された Stormpath オブジェクトAPI_ID
をAPI_SECRET
取得するAccount
すべてのリクエストで指定された Facebook トークンに基づいてStormpath オブジェクトを取得します- アカウントのステータスに基づいて、認証要求または拒否
これは多かれ少なかれ公式ガイドに従っており、ユーザー アカウントが存在しない場合でも、Stormpath への最初のアカウント取得要求時に作成されるため、正常に動作します。それは理にかなっており、十分に安全ですか?ドキュメントやベスト プラクティスを探していましたが、何も見つかりませんでした。
システム内のユーザーデータと何らかの関係を築くことができるように、一意のユーザーIDを取得/生成する必要もあります。別の質問ですが、ここでの最良のアプローチは何ですか:
- 一意の ID を生成し、それを Stormpath から取得したユーザーの電子メールに関連付けて、システムに保存します。これは、すべてのユーザー データをカプセル化する Stormapth のようなサービスの考えに少し違反していると思います
- 上記と同じことを行いますが、Stormpath アカウントに保存します
customData
- ユーザー URI から取得できる Stormapth ユーザー リソース ID を使用します。
ご意見をお聞かせください。
記録のために、私はStormpath Java SDKを使用しており、モバイル ソーシャル アプリのバックエンドになるように API を設計しているため、セキュリティは私にとって非常に重要です。