api.example.com の API バックエンドと example.com のフロントエンド シングル ページ アプリの両方を所有しています。API は基本的に、データベース バックエンドのラッパーです。
ここで、シングル ページ アプリ (= クライアント アプリ) のユーザーに API で認証してもらいたいと考えています。このために、私が理解している限り、クライアント (= シングル ページ アプリ) は client_id を user_id と共に API に送信し、API は AccessToken を発行します。
ただし、私の単一ページ アプリでは、アクセス トークンをどこにどのように保存するかがわかりません。ログインしたユーザーがAPIアプリケーションにアクセスできるようにするための簡単なリファレンス、または良いコンセプトを探しています。
友人が私にこのフローを提案しました:
- クライアントは、ログイン (電子メールまたはユーザー名) とパスワードの入力を表示します。
- クライアント アプリは API にリクエストを送信し、承認されていないトークンを取得します (例: POST /api/v1/auth/new)。
- サーバーはアプリのトークンを作成して送り返します。
- クライアント アプリは、トークンをログイン、パスワード、および要求署名と共に API に送信します (例: POST /api/v1/mobile_authenticate)。
- API は資格情報を検証および検証します。
- すべて問題なければ、アプリはトークンを使用して、ユーザーに代わってさらに処理を行います。
何かご意見は?これをどのように簡素化または改善できますか?