私たちはSPA(完全なクライアントベースのJavaScriptアプリケーション)を開発しており、内部にアクセスするにはユーザーを認証する必要があります。
検索からわかったように、認証メカニズムを外部委託し、そのためにGoogleアカウントを使用することができます。このサイトから学びました https://developers.google.com/accounts/docs/OAuth2Login-GoogleAPIの 扱い方と認証のメカニズム。
簡単に言うと、次のものが必要です。
- paramsを使用してGoogleURLにリクエストを送信し、SPAが個人データを使用できるようにするようユーザーに依頼します
- 成功した場合、Googleからトークンを取得します
- このトークンを使用して、要求されたAPIにアクセスし、それを操作することができます。
これはよく説明されており、私はそれを理解しており、それを実現するためのJSコードをいくつか持っています。
わからないこと。
プライベートデータを使用したアプリケーションがあります。ユーザーの電子メールをログインとして使用するか、ユーザーID(呼び出し方法は関係ありません)を使用して、ユーザーが作成したタスクやユーザーのプロファイルなどのアプリの内部にアクセスします。したがって、ユーザーが作成したタスクをSPAに表示します。ユーザーの電子メールを含むクエリデータベースが必要です。
私は次のシナリオを想像します:
- ユーザークリック
Login with Google
ボタン - トークンを取得します-これは、ユーザーが正常に認証されたことを意味します
- 私たちはユーザーと彼の電子メールをSPAと連携するために永続化します
- ユーザーがクリック
Logout
すると、すべてのアクセスデータがクリアされます
このデータはどこに保存すればよいですか?
ログイン/パスワードをサーバーに渡し、データベースと一致する場合は、作成してCookieに保存することForms Authentication
を理解しています。Forms Ticket
Googleの認証に同様のケースはありますか?ユーザーのメールをCookieに保存する場合、セキュリティ上の理由からあまり良くないと思います。トークンを保存する場合-トークンが必要な理由とSPAでの使用方法がわからないため、認証後にGoogleAPIを使用していません。
同様のケースでプロセスをどのように構築するかという例はありますか?
ありがとうございました。