2013-07-13 8 views
7

ユーザー登録が必要なAndroidアプリケーションをお持ちで、ユーザーがGoogle経由でログインできるようにするにはどうすればいいですか?Googleの資格情報を使用してユーザーがあなたのアプリにアクセスできるようにするための最良の方法

ここでは、Google +ログインを続けていきたいと考えています。 Googleではユーザーの認証情報を使用してGoogle APIにアクセスしているわけではありません.Google +のソーシャル機能への追加アクセスは興味がありません。これは本当にアンドロイド言及していないが、それは(ある認証Google OAUth2 Loginページに記載さ

ため

使用OAuth2.0:

オプションの数があるようです部分的に)OAuth2アクセストークンに基づいていますが、もっと重要なのはJSON Webトークンid_tokenの検証です。

ユーザーを認証するこの方法では、WebViewを起動して、ユーザーがGoogleアカウントにログインできるようにし、id_tokenのかなり複雑な確認を行うこともできます。

利用のOAuth2/Googleは再生サービスGoogleは、認可の詳細を焦点を当ててサービスを再生するには、サンプルがあります

。 GoogleAuthUtil.getTokenを使用してaccess_tokenを取得します。そのダイアログの一部が「サインインする」という意味で認証されています。私はそれが認証メカニズムとしてaccess_tokenはとOAuth2.0の流れを使用することは悪い習慣だと仮定する修正

enter image description here

アム? (アクセストークンを認証トークンとして格納する)。

サポートのFacebook/Twitterのログイン私が求めている理由が原因でTwitterやFacebookはあなたが認証プロセス「で...サインイン」を実装することをお勧めの方法である

これもあると思われます純粋にOAuthアクセストークンに基づいています。

これ以外のどのオプションを使用しても、Googleアカウントでユーザーを認証できますか?

答えて

4

必要なものこの http://android-developers.blogspot.com/2013/01/verifying-back-end-calls-from-android.html

すなわちIDトークンを取得し、サインインしてバックエンドにそれを使用していますあなたのアプリケーションの。

あなたは正しいです。一般に、認証にアクセストークンを使用することは悪い考えです。開発者に注意を促すために複数のプレゼンテーションを行いました。 https://docs.google.com/presentation/d/1klTZheiQIhcty6MKvTYS12cw1Vyn4T1R4d60QCRYM60/edit?usp=drive_web

他のオプションと1のみアクセストークンを持っているが存在しない場合、潜在的なセキュリティ問題にログインし、軽減するためにそれを使用するためにいくつかの余分な検証を行うことができるかもしれません。トークンがOpenIDCOnnectで設計された理由は、認証に使用することです。

+0

また、この料理の本をチェックhttps://developers.google.com/accounts/cookbook/platforms/Hybrid – nvnagr

+0

実際にはGoogle Plusに関係しないAndroidでそれを行う良い方法のようです。 (Google Playサービスとの依存関係もあります)+1もプレゼンテーションに適用されます。 – ddewaele

+1

「Googleアカウントを使用したログイン」タイプのフローでこれを使用したい場合、バックエンドデータベースには何を保存しますか? DBにユーザーの電子メールを追加するだけで、彼が(最初のIDトークンを受信して​​確認した後に)Google IDトークンを使用して認証していることを示すフラグを付けて、その後の各IDTokenをバックエンドに確認させるだけですREST呼び出し)。これらのIDTokensをバックエンドに格納/キャッシュする必要はありません。 – ddewaele

2

お勧めの方法は、新しいGoogle+ログインで使用することです: https://developers.google.com/+/mobile/android/sign-in

+2

私はGoogle+のソーシャル機能への追加アクセスに本当に関心がなく、Google APIにアクセスしたくありません。私はちょうど認証プロバイダとしてGoogleを使いたいと思う。 – ddewaele

関連する問題