web-dev-qa-db-ja.com

id_token googleとは何ですかoauth

Googleapiに対してoauth2を実行しようとすると、次の結果が得られました。一つだけ:id-tokenが documentation で使用されているものが見つかりませんでした。

{  "access_token" : "xxxx",  "token_type" : "Bearer",  "expires_in" : 3600,  "id_token" : "veryverylongstring",  "refresh_token" : "abcdefg"}
52
kitokid

id_tokenはJSON Web Token(JWT)です。デコードすると、ユーザーのIDを含む複数のアサーションが含まれていることがわかります。詳細については、 この回答 を参照してください。

55
vlatko

id_tokenは、OPEN_ID Connectプロトコルで使用されます。ユーザーが認証および認証されている場所。認証と承認の違い。 http://www.differencebetween.net/technology/difference-between-authentication-and-authorization/ id_tokenとaccess_tokenを取得します。

id_tokenには、ユーザーの認証に関する情報が含まれています。 IDトークンは、OpenID Provider(OP)によって署名された標準JWT形式のIDカードの概念に似ています。これを取得するには、クライアントは認証リクエストとともにユーザーをOPに送信する必要があります。

IDトークンの機能:

  1. OpenID(サブ)のサブジェクトと呼ばれるユーザーのIDをアサートします。
  2. 発行機関(iss)を指定します。
  3. 特定の対象者、つまりクライアント(aud)に対して生成されます。
  4. ナンス(ノンス)を含む場合があります。
  5. ユーザーがいつ(auth_time)、どのように強度(acr)で認証されたかを指定できます。
  6. 問題(iat)および有効期限(exp)があります。
  7. 名前やメールアドレスなど、件名に関する追加のリクエストされた詳細を含めることができます。
  8. デジタル署名されているため、対象の受信者が検証できます。機密性のためにオプションで暗号化できます。

IDトークンステートメント、またはクレームは、単純なJSONオブジェクトにパッケージ化されています。

{
  "sub"       : "alice",
  "iss"       : "https://openid.c2id.com",
  "aud"       : "client-12345",
  "nonce"     : "n-0S6_WzA2Mj",
  "auth_time" : 1311280969,
  "acr"       : "c2id.loa.hisec",
  "iat"       : 1311280970,
  "exp"       : 1311281970
}
2
Nouman Dilshad