0

Google エンドポイントで OAuth2.0 を使用することについて、頭が回転するほど読んでいます。SignIn を必要とする Android アプリの OpenIDも読みました。多分私はぐるぐる回っています。わかりません。ですから、ここにいる誰かが本当に私を助けてくれるかもしれません。

通常、バックエンドを開発するときは、独自のユーザー認証プロトコルを展開します。何かのようなもの:

  • 登録するには: バックエンドへのユーザーPOST登録フォーム。バックエンドでユーザーを追加user_db: 電子メール、ユーザー名、パスワードなど

  • ログインするには:ユーザーPOSTログインフォーム(ユーザー名、パスワード); バックエンドはトークンを返します。ユーザーはトークンを使用して、その後バックエンド API を呼び出して何にでもアクセスします。ユーザーがログアウトするまで。

しかし、私は現在、モービル アプリ専用のバックエンドを開発しています。これは、Python および Google エンドポイント アノテーションで構築されたアプリ エンジン バックエンドを備えた Android モバイル アプリです。したがって、典型的なLogin or Registerページを用意する代わりに、ユーザーのログインを外部委託したいと考えています。ユーザーが Google アカウントを使用してアプリにログインできるようにしたいと考えていますOAuth2.0。したがって、新しいプロセスは次のようになります。

  • ユーザーが Google Play からアプリをダウンロードする
  • Google OAuth2.0 を使用したユーザー ログイン (または、私のアプリは自動的に行いますか? -- 推奨)
  • ユーザーから取得したトークン (?) をGoogle OAuth2.0使用すると、バックエンド API にアクセスして何でもできます。

当然のことながら、私の質問は次のとおりです。これを成功させた人は、知恵をコードで共有してくれませんか? また、ユーザーが実際に認証されていることをバックエンドがどのように認識しているかを説明してください。ユーザーのログアウトについてどう思いますか? 繰り返しますが、これはまさにアプリ エンジン バックエンド (エンドポイント アノテーションを使用する) を備えた Android アプリです。

4

1 に答える 1

1

あなたの質問の一部に、新しい箇条書きで答えることができます。

新しいプロセスは次のようになります。

  • ユーザーがアプリをダウンロードします (GET_ACCOUNTS および USE_CREDENTIALS 権限を受け入れます)
  • ユーザーがアプリを初めて実行します (これにより、アプリがアクティブ化されます)。
    (これで、このデバイスの Google アカウントに対して認証する権限がアプリに付与されました。)
  • ユーザーが複数の Google アカウントを持っている場合は、どれを使用するか尋ねることができます。
  • 選択した Google アカウントを認証します。
    (これに必要なコード例はこちらにあります。)
  • サーバー コードは、エンドポイント呼び出しの最初のパラメーターとして App Engine の「ユーザー」オブジェクトを受け取ります。

上記のリンクは、三目並べの例にもつながります。バックエンドは Java ですが、特に Android の場合は役に立つはずです。読書で頭がぐるぐる回っているときは、コーディングを開始するときです。

于 2013-03-19T20:45:56.437 に答える