0

GoogleのOauth2APIを使用して、電子メールアドレスに基づいてアプリケーションにログインしたいと思います。ユーザーが自分のme@mydomain.comがGoogleによってホストされているかどうかわからない可能性があることを考えると、ユーザーの電子メールアドレスを調べて、コードを介してGoogleAuthにリダイレクトするにはどうすればよいですか。たとえば、通常のログインページでは、[Googleアカウントでログイン]ボタンが表示されていますが、ユーザーがそれがGoogleアカウントであることを知らない場合は、クリックしなくてもOAUTHを使用したいと思います。 。

MXレコードでDNSルックアップを検討しましたが、それが最もクリーンで最良のアプローチであるかどうかはわかりません。

つまり、一般的なDNSルックアップは次を返します。

mydomain.com      MX preference = 10, mail exchanger = aspmx.l.google.com
mydomain.com      MX preference = 20, mail exchanger = alt1.aspmx.l.google.com
mydomain.com      MX preference = 20, mail exchanger = alt2.aspmx.l.google.com
...
4

1 に答える 1

1

MXレコードのnslookupはおそらく最も実用的な解決策であり、かなり単純です。

私がこれに関して抱えている問題は、あなたのアプリケーションがあなたに彼らのグーグル電子メールを使用することだけを要求しない限り、あなたは何人かの人々を除外するかもしれないということです。Googleアカウントで別のメールアドレスを設定していて、それを使用してログインできます。今では、ほとんどのユーザーが自分のGoogleメールアカウントを使用すると思いますが、他の場合に備えておく必要があります。 。

私の提案は、ClientLoginのような、より簡単で非推奨のメソッドを最初に使用することです。https://www.google.com/accounts/ClientLogin?Email=who@where.com&Passwd=passwordを使用して簡単な投稿を行うことができます

「Error=BadAuthentication」が表示された場合、認証は失敗しました。適切な認証を取得すると、このメールアドレスがGoogleアカウントに関連付けられていることがわかり、Oauth2を使用してログインできます。これで発生する唯一の問題は、ユーザーが間違ったパスワードを入力した場合です。セキュリティ上の理由から存在しない可能性がありますが、すべてのGoogle APIを調査して、パスワードが間違っているのか、ログインに失敗しただけなのかを調べます。

とにかく、頑張ってください。他に何か思いついた場合は、最新情報を入手してください。

于 2012-10-24T15:10:21.787 に答える