ハックアップのためのクイックプロジェクトでは、私と私のチームはユーザーの登録/認証としてGoogle Sign-Inを実装しました。方法は、それが動作します。クライアント上のSDK(Androidの+のiOS)でGoogle Sign-Inバックエンドとクライアント間のアクセストークン
- ユーザーがサインをし、要求が
- クライアントがacces_token受信access_tokenは、クエリパラメータとしてバックエンドへの各ネットワーク要求のためにそのトークンを使用しています
- 私たちのバックエンドはユーザーのためにGoogleサービスと対話しません
Googleが直面している問題は、Google SDKから返されたaccess_tokenが短期間(60分)です。それは基本的に2つの質問/問題につながります。
ショートリビングのaccess_tokenは、このように使用することさえも意味していますか? 私は、バックエンドで認証し、独自の認証メカニズム(おそらくトークンベースのもの)を使用するために、Googleや他の認証プロバイダによって返されたトークンを使用する別のフローに慣れています。
私が間違っている場合は、60分ごとに期限が切れるため、クライアント側でトークンをリフレッシュするのがよい方法です。私が理解しているところは、Google SDKがログインするためのアクティビティを開始し、コンテキストなしでデータレイヤのすべてのネットワークを処理したいと思うことです。毎回バックエンドを要求する前にそのトークンの妥当性をチェックするか、401応答を返すか、何か似たようなことをした後に何らかの爽やかさを開始するのですか?
私はそのスペースで若干新しくなっており、私たちのチームのバックエンドの男と何が正しかったかについて間違いない議論がありました。私はナンバーワンが正しいと思っています、彼はナンバー2と言います。私はここでひどく間違っているかもしれません。いくつかの素敵な入力やリソースは、オンラインのすべてのドキュメンテーションがこれらの質問の両方に答えるものではないのですばらしいでしょう。
良い質問があります。あなたのアプリは他のユーザー認証メカニズム(Facebook、ユーザー名/パスワードなど)をサポートしていますか?複数の認証方法の場合、ほとんどの開発者は、オプション1を使用して、パスワード/ Facebook/Googleトークンを独自のセッション管理メカニズム(通常はCookieまたは独自のOAuth2トークン)に交換します。しかし、Googleしかない場合は、認証されたバックエンドリクエストを作成し、承認として添付する必要があるときはいつでも、SDKからIDトークンを取得することができます。 –