私はここ 2 日間、頭を壁にぶつけていました。助けを求める時が来ました。
私は次のことを頭に入れようとしています:
モバイル アプリ ユーザーは、次のいずれかを使用してアプリにサインインします。
- グーグル
- フェイスブック
- 等...
最初に Google に焦点を当てます。ログインは機能します (ユーザーは許可に同意します)。次に、アプリはトークンを取得します。GoogleAuthUtil.getToken(mActivity, mEmail, mScope);
スコープは次の形式になりますaudience:server:client_id:XXXXXX
AndXXXXXXX
は、Web サービスの client_id です。
(モバイル アプリは Google コンソールにも登録されており、ウェブサーバーと同じプロジェクトにあります)
次に、アプリは取得したトークンを Web サーバーに送信し、そこでサーバーは を使用してペイロードを取得できます$client->verifyIdToken( $id_token );
。私のサーバーはGoogle API Clientを使用しています。
しかし、これを使用して、ユーザーに追加のアクセス許可を要求せずに、サーバーが Google からユーザーデータを取得できるようにしたいと考えています (ユーザーは既にアプリにアクセス許可を与えているため)。では、ペイロードから Google にユーザーデータをリクエストするにはどうすればよいでしょうか?
私は、この Oauth2.0 / SSO プロセス全体を完全に誤解している可能性があるという考えをまだ楽しんでいます。