web-dev-qa-db-ja.com

他のサイトの資格情報を使用して1つのサイトにログインする

ユーザーが他のWebサイトのログオン資格情報を使用して自分のサイトにログインできるWebサイトを頻繁に見ています。私のGoogleアカウントまたはFacebookアカウントを使用してログインできるページがある場合、前のサイトは私のgoogle/facebookログイン詳細を取得できますか?

3
NeonGlow

GoogleやFacebookなどのサイトは、OAuthなどのプロトコルを実装して、ユーザーが説明したこと、および委任認証として知られていることを実現します。

要するに、あなたの質問に対する答えはノーです。他のアカウントでサインインできるサイトでは、アカウントの資格情報は表示されません。簡単に言うと、Google/Facebookは、Google/Facebookの一部の情報にアクセスするために使用される可能性があるアカウントにリンクする限定使用トークンを作成しています。通常、次のようになります。

  1. クライアント(他のWebサイト)がサーバー(Googleなど)からトークンを取得します
  2. クライアントはリソース所有者(あなた)に承認を要求します
  3. リソース所有者はリクエストを検証し、承認を付与します。
  4. クライアントはリクエストトークンをアクセストークンに交換します。

これと同じ原理を実現するさまざまな方法(フロー)があります。あなたはここでそれについてもっと読むことができます:

http://oauthlib.readthedocs.org/en/latest/oauth2/grants/grants.html

2
Alex Urcioli