OAuth और 'Google साइन इन' के साथ व्यवस्थित लिंक करना

खास जानकारी

OAuth पर आधारित 'Google साइन इन' को बेहतर तरीके से लिंक करने की सुविधा में, OAuth लिंकिंग के सबसे ऊपर Google साइन इन की सुविधा जोड़ी जाती है. इससे Google उपयोगकर्ताओं को बिना किसी रुकावट के अनुभव मिलता है. साथ ही, इससे खाता भी बनाया जा सकता है, जिससे उपयोगकर्ता अपने Google खाते का इस्तेमाल करके आपकी सेवा पर एक नया खाता बना सकते हैं.

OAuth और Google साइन इन के साथ खाता जोड़ने के लिए, यह सामान्य तरीका अपनाएं:

  1. सबसे पहले, उपयोगकर्ता से अपनी Google प्रोफ़ाइल ऐक्सेस करने की सहमति दें.
  2. यह देखने के लिए कि उपयोगकर्ता खाता मौजूद है या नहीं, उनकी प्रोफ़ाइल में दी गई जानकारी का इस्तेमाल करें.
  3. मौजूदा उपयोगकर्ताओं के लिए, खाते लिंक करें.
  4. अगर आपको पुष्टि करने वाले सिस्टम में, Google उपयोगकर्ता का कोई मिलान नहीं मिल रहा है, तो Google से मिले आईडी टोकन की पुष्टि करें. फिर आप आईडी टोकन में मौजूद प्रोफ़ाइल की जानकारी के आधार पर उपयोगकर्ता बना सकते हैं.
यह डायग्राम, उपयोगकर्ता को अपने Google खाते को लिंक करने के चरण दिखाता है. इसके लिए, खाता जोड़ने के व्यवस्थित फ़्लो का इस्तेमाल किया जाता है. पहले स्क्रीनशॉट में बताया गया है कि कोई उपयोगकर्ता, लिंक करने के लिए आपके ऐप्लिकेशन को कैसे चुन सकता है. दूसरे स्क्रीनशॉट से उपयोगकर्ता को यह पुष्टि करने में मदद मिलती है कि आपकी सेवा पर कोई मौजूदा खाता है या नहीं. तीसरा स्क्रीनशॉट, उपयोगकर्ता को वह Google खाता चुनने की सुविधा देता है जिससे उसे लिंक करना है. चौथे स्क्रीनशॉट में, Google खाते को आपके ऐप्लिकेशन से जोड़ने की पुष्टि दिखाई गई है. पांचवां स्क्रीनशॉट, Google app में लिंक किए गए उपयोगकर्ता खाते को दिखाता है.

पहली इमेज. व्यवस्थित लिंकिंग के साथ उपयोगकर्ता के फ़ोन पर खाता लिंक करना

व्यवस्थित तरीके से लिंक करने से जुड़ी ज़रूरी शर्तें

  • सामान्य वेब OAuth लिंकिंग फ़्लो लागू करें. आपकी सेवा में, OAuth 2.0 का पालन करने वाली अनुमति और टोकन एक्सचेंज एंडपॉइंट काम करने चाहिए.
  • आपके टोकन एक्सचेंज एंडपॉइंट को, JSON वेब टोकन (JWT) दावों के साथ काम करना चाहिए. साथ ही, check, create, और get इंटेंट को लागू करना चाहिए.

अपना OAuth सर्वर लागू करें

आपके टोकन एक्सचेंज एंडपॉइंट को check, create, और get इंटेंट के साथ काम करना चाहिए. नीचे, खाता जोड़ने के फ़्लो से जुड़े चरण दिखाए गए हैं. साथ ही, यह भी बताता है कि अलग-अलग इंटेंट को कब कॉल किया जाता है:

  1. क्या उपयोगकर्ता के पास आपके प्रमाणीकरण सिस्टम में खाता है? (उपयोगकर्ता 'हां' या 'नहीं' चुनकर तय करता है)
    1. हां : क्या उपयोगकर्ता आपके प्लैटफ़ॉर्म में साइन इन करने के लिए, अपने Google खाते से जुड़े ईमेल पते का इस्तेमाल करता है? (उपयोगकर्ता 'हां' या 'नहीं' चुनकर तय करता है)
      1. हां : क्या उपयोगकर्ता के पास आपके पुष्टि करने वाले सिस्टम में कोई मिलता-जुलता खाता है? (check intent को पुष्टि करने के लिए कॉल किया जाता है)
        1. हां : get intent को कॉल किया जाता है. अगर इंटेंट वापस मिल जाता है, तो खाता जोड़ दिया जाता है.
        2. NO : नया खाता बनाएं? (उपयोगकर्ता 'हां' या 'नहीं' चुनकर तय करता है)
          1. हां : create intent को कॉल किया जाता है. अगर इंटेंट बनाया जाता है, तो खाता लिंक हो जाता है.
          2. नहीं : वेब OAuth फ़्लो ट्रिगर हो जाता है, उपयोगकर्ता को उनके ब्राउज़र पर भेज दिया जाता है और उपयोगकर्ता को किसी दूसरे ईमेल से लिंक करने का विकल्प दिया जाता है.
      2. नहीं : वेब OAuth फ़्लो ट्रिगर हो जाता है, उपयोगकर्ता को उनके ब्राउज़र पर भेज दिया जाता है और उपयोगकर्ता को किसी दूसरे ईमेल से लिंक करने का विकल्प दिया जाता है.
    2. नहीं : क्या उपयोगकर्ता के पास आपके पुष्टि करने वाले सिस्टम में कोई मिलता-जुलता खाता है? (check intent को पुष्टि करने के लिए कॉल किया जाता है)
      1. हां : get intent को कॉल किया जाता है. अगर इंटेंट वापस मिल जाता है, तो खाता जोड़ दिया जाता है.
      2. नहीं : create intent को कॉल किया जाता है और अगर खाता बनाने की प्रोसेस पूरी हो जाती है, तो खाता जोड़ दिया जाता है.

检查现有用户帐号(检查 intent)

在用户同意访问其 Google 个人资料后,Google 会发送一个请求,其中包含 Google 用户身份的签名断言。该断言包含用户的 Google 帐号 ID、姓名和电子邮件地址。为您的项目配置的令牌交换端点会处理该请求。

如果您的身份验证系统中已存在相应的 Google 帐号,则您的令牌交换端点会返回 account_found=true。如果 Google 帐号与现有用户不匹配,那么您的令牌交换端点会返回 account_found=false 的 HTTP 404 Not Found 错误。

请求的格式如下:

POST /token HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&intent=check&assertion=JWT&scope=SCOPES&client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET

您的令牌交换端点必须能够处理以下参数:

令牌端点参数
intent 对于这些请求,此参数的值为 check
grant_type 要交换的令牌的类型。对于这些请求,此参数的值为 urn:ietf:params:oauth:grant-type:jwt-bearer
assertion 一个 JSON Web 令牌 (JWT),用于提供 Google 用户身份的签名断言。JWT 包含用户的 Google 帐号 ID、姓名和电子邮件地址等信息。
client_id 您分配给 Google 的客户端 ID。
client_secret 您分配给 Google 的客户端密钥。

为了响应 check intent 请求,您的令牌交换端点必须执行以下步骤:

  • 验证并解码 JWT 断言。
  • 检查您的身份验证系统中是否已存在该 Google 帐号。
मान्य करें और JWT अभिकथन को डिकोड करें

आप अपनी भाषा के लिए JWT- डिकोडिंग लाइब्रेरी का उपयोग करके JWT दावे को मान्य और डिकोड कर सकते हैं । टोकन के हस्ताक्षर को सत्यापित करने के लिए, JWK या PEM प्रारूपों में उपलब्ध Google की सार्वजनिक कुंजियों का उपयोग करें।

जब डिकोड किया जाता है, तो JWT अभिकथन निम्नलिखित उदाहरण की तरह दिखता है:

{
  "sub": "1234567890",      // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The assertion's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Your server's client ID
  "iat": 233366400,         // Unix timestamp of the assertion's creation time
  "exp": 233370000,         // Unix timestamp of the assertion's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "email_verified": true,   // true, if Google has verified the email address
  "hd": "example.com",      // If present, the host domain of the user's GSuite email address
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/AOh14GjlTnZKHAeb94A-FmEbwZv7uJD986VOF1mJGb2YYQ",
  "locale": "en_US"         // User's locale, from browser or phone settings
}

टोकन के हस्ताक्षर की पुष्टि करने के अलावा, पुष्टि करें कि दावे का जारीकर्ता ( iss फ़ील्ड) https://accounts.google.com , कि ऑडियंस ( aud फ़ील्ड) आपका असाइन किया गया क्लाइंट ID है, और टोकन की समय सीमा समाप्त नहीं हुई है ( exp मैदान)।

email , email_verified और hd फ़ील्ड का उपयोग करके आप यह निर्धारित कर सकते हैं कि Google होस्ट ईमेल पते के लिए आधिकारिक है या नहीं। उन मामलों में जहां Google आधिकारिक है, उपयोगकर्ता को वर्तमान में वैध खाता स्वामी के रूप में जाना जाता है और आप पासवर्ड या अन्य चुनौतियों के तरीकों को छोड़ सकते हैं। अन्यथा, इन विधियों का उपयोग लिंक करने से पहले खाते को सत्यापित करने के लिए किया जा सकता है।

ऐसे मामले जहां Google आधिकारिक है:

  • email में @gmail.com प्रत्यय है, यह एक जीमेल खाता है।
  • email_verified सत्य है और hd सेट है, यह एक G Suite खाता है।

उपयोगकर्ता जीमेल या जी सूट का उपयोग किए बिना Google खातों के लिए पंजीकरण कर सकते हैं। जब email @gmail.com प्रत्यय नहीं होता है और hd अनुपस्थित होता है तो Google आधिकारिक नहीं होता है और उपयोगकर्ता को सत्यापित करने के लिए पासवर्ड या अन्य चुनौती विधियों की सिफारिश की जाती है। email_verfied भी सही हो सकता है क्योंकि Google ने उपयोगकर्ता को शुरू में सत्यापित किया था जब Google खाता बनाया गया था, हालांकि तृतीय पक्ष ईमेल खाते का स्वामित्व परिवर्तित होने के बाद हो सकता है।

检查您的身份验证系统中是否已存在该 Google 帐号

检查是否满足以下任一条件:

  • Google 帐号 ID 可在用户的数据库中找到,可在断言的 sub 字段找到。
  • 断言中的电子邮件地址与您的用户数据库中的用户匹配。

如果其中任一条件为 true,则表示用户已注册。在这种情况下,系统将返回如下所示的响应:

HTTP/1.1 200 Success
Content-Type: application/json;charset=UTF-8

{
  "account_found":"true",
}

如果断言中指定的 Google 帐号 ID 和电子邮件地址都与用户数据库中的用户不匹配,则表示用户尚未注册。在这种情况下,您的令牌交换端点需要使用包含 "account_found": "false" 的 HTTP 404 错误进行响应,如以下示例所示:

HTTP/1.1 404 Not found
Content-Type: application/json;charset=UTF-8

{
  "account_found":"false",
}

处理自动链接(获取 intent)

在用户同意访问其 Google 个人资料后,Google 会发送一个请求,其中包含 Google 用户身份的签名断言。该断言包含用户的 Google 帐号 ID、姓名和电子邮件地址。为您的项目配置的令牌交换端点会处理该请求。

如果您的身份验证系统中已存在相应的 Google 帐号,则您的令牌交换端点会返回用户的令牌。如果 Google 帐号与现有用户不匹配,您的令牌交换端点会返回 linking_error 错误和可选的 login_hint

请求的格式如下:

POST /token HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&intent=get&assertion=JWT&scope=SCOPES&client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET

您的令牌交换端点必须能够处理以下参数:

令牌端点参数
intent 对于这些请求,此参数的值为 get
grant_type 要交换的令牌的类型。对于这些请求,此参数的值为 urn:ietf:params:oauth:grant-type:jwt-bearer
assertion 一个 JSON Web 令牌 (JWT),用于提供 Google 用户身份的签名断言。JWT 包含用户的 Google 帐号 ID、姓名和电子邮件地址等信息。
scope 可选:您已将 Google 配置为向用户请求的任何范围。
client_id 您分配给 Google 的客户端 ID。
client_secret 您分配给 Google 的客户端密钥。

为了响应 get intent 请求,您的令牌交换端点必须执行以下步骤:

  • 验证并解码 JWT 断言。
  • 检查您的身份验证系统中是否已存在该 Google 帐号。
मान्य करें और JWT अभिकथन को डिकोड करें

आप अपनी भाषा के लिए JWT- डिकोडिंग लाइब्रेरी का उपयोग करके JWT दावे को मान्य और डिकोड कर सकते हैं । टोकन के हस्ताक्षर को सत्यापित करने के लिए, JWK या PEM प्रारूपों में उपलब्ध Google की सार्वजनिक कुंजियों का उपयोग करें।

जब डिकोड किया जाता है, तो JWT अभिकथन निम्नलिखित उदाहरण की तरह दिखता है:

{
  "sub": "1234567890",      // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The assertion's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Your server's client ID
  "iat": 233366400,         // Unix timestamp of the assertion's creation time
  "exp": 233370000,         // Unix timestamp of the assertion's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "email_verified": true,   // true, if Google has verified the email address
  "hd": "example.com",      // If present, the host domain of the user's GSuite email address
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/AOh14GjlTnZKHAeb94A-FmEbwZv7uJD986VOF1mJGb2YYQ",
  "locale": "en_US"         // User's locale, from browser or phone settings
}

टोकन के हस्ताक्षर की पुष्टि करने के अलावा, पुष्टि करें कि दावे का जारीकर्ता ( iss फ़ील्ड) https://accounts.google.com , कि ऑडियंस ( aud फ़ील्ड) आपका असाइन किया गया क्लाइंट ID है, और टोकन की समय सीमा समाप्त नहीं हुई है ( exp मैदान)।

email , email_verified और hd फ़ील्ड का उपयोग करके आप यह निर्धारित कर सकते हैं कि Google होस्ट ईमेल पते के लिए आधिकारिक है या नहीं। उन मामलों में जहां Google आधिकारिक है, उपयोगकर्ता को वर्तमान में वैध खाता स्वामी के रूप में जाना जाता है और आप पासवर्ड या अन्य चुनौतियों के तरीकों को छोड़ सकते हैं। अन्यथा, इन विधियों का उपयोग लिंक करने से पहले खाते को सत्यापित करने के लिए किया जा सकता है।

ऐसे मामले जहां Google आधिकारिक है:

  • email में @gmail.com प्रत्यय है, यह एक जीमेल खाता है।
  • email_verified सत्य है और hd सेट है, यह एक G Suite खाता है।

उपयोगकर्ता जीमेल या जी सूट का उपयोग किए बिना Google खातों के लिए पंजीकरण कर सकते हैं। जब email @gmail.com प्रत्यय नहीं होता है और hd अनुपस्थित होता है तो Google आधिकारिक नहीं होता है और उपयोगकर्ता को सत्यापित करने के लिए पासवर्ड या अन्य चुनौती विधियों की सिफारिश की जाती है। email_verfied भी सही हो सकता है क्योंकि Google ने उपयोगकर्ता को शुरू में सत्यापित किया था जब Google खाता बनाया गया था, हालांकि तृतीय पक्ष ईमेल खाते का स्वामित्व परिवर्तित होने के बाद हो सकता है।

检查您的身份验证系统中是否已存在该 Google 帐号

检查是否满足以下任一条件:

  • Google 帐号 ID 可在用户的数据库中找到,可在断言的 sub 字段找到。
  • 断言中的电子邮件地址与您的用户数据库中的用户匹配。

如果找到了用户的帐号,请发出访问令牌,并在 HTTPS 响应的正文中以 JSON 对象形式返回值,如以下示例所示:

{
  "token_type": "Bearer",
  "access_token": "ACCESS_TOKEN",

  "expires_in": SECONDS_TO_EXPIRATION
}

在某些情况下,基于 ID 令牌的帐号关联可能会为用户失败。如果出现任何此类情况,您的令牌交换端点都需要使用返回 error=linking_error 的 HTTP 401 错误进行响应,如以下示例所示:

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8

{
  "error":"linking_error",
  "login_hint":"foo@bar.com"
}

Google 收到包含 linking_error 的 401 错误响应后,会将用户作为授权参数 login_hint 发送到您的授权端点。用户在浏览器中使用 OAuth 关联流程完成帐号关联。

通过 Google 登录功能创建帐号(创建 intent)

当用户需要在您的服务上创建帐号时,Google 会向您的令牌交换端点发出请求,并指定 intent=create

请求的格式如下:

POST /token HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

response_type=token&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=SCOPES&intent=create&assertion=JWT&client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET

您的令牌交换端点必须能够处理以下参数:

令牌端点参数
intent 对于这些请求,此参数的值为 create
grant_type 要交换的令牌的类型。对于这些请求,此参数的值为 urn:ietf:params:oauth:grant-type:jwt-bearer
assertion 一个 JSON Web 令牌 (JWT),用于提供 Google 用户身份的签名断言。JWT 包含用户的 Google 帐号 ID、姓名和电子邮件地址等信息。
client_id 您分配给 Google 的客户端 ID。
client_secret 您分配给 Google 的客户端密钥。

assertion 参数中的 JWT 包含用户的 Google 帐号 ID、名称和电子邮件地址,您可以使用这些信息在服务中创建新帐号。

为了响应 create intent 请求,您的令牌交换端点必须执行以下步骤:

  • 验证并解码 JWT 断言。
  • 验证用户信息并创建新帐号。
मान्य करें और JWT अभिकथन को डिकोड करें

आप अपनी भाषा के लिए JWT- डिकोडिंग लाइब्रेरी का उपयोग करके JWT दावे को मान्य और डिकोड कर सकते हैं । टोकन के हस्ताक्षर को सत्यापित करने के लिए, JWK या PEM प्रारूपों में उपलब्ध Google की सार्वजनिक कुंजियों का उपयोग करें।

जब डिकोड किया जाता है, तो JWT अभिकथन निम्नलिखित उदाहरण की तरह दिखता है:

{
  "sub": "1234567890",      // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The assertion's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Your server's client ID
  "iat": 233366400,         // Unix timestamp of the assertion's creation time
  "exp": 233370000,         // Unix timestamp of the assertion's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "email_verified": true,   // true, if Google has verified the email address
  "hd": "example.com",      // If present, the host domain of the user's GSuite email address
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/AOh14GjlTnZKHAeb94A-FmEbwZv7uJD986VOF1mJGb2YYQ",
  "locale": "en_US"         // User's locale, from browser or phone settings
}

टोकन के हस्ताक्षर की पुष्टि करने के अलावा, पुष्टि करें कि दावे का जारीकर्ता ( iss फ़ील्ड) https://accounts.google.com , कि ऑडियंस ( aud फ़ील्ड) आपका असाइन किया गया क्लाइंट ID है, और टोकन की समय सीमा समाप्त नहीं हुई है ( exp मैदान)।

email , email_verified और hd फ़ील्ड का उपयोग करके आप यह निर्धारित कर सकते हैं कि Google होस्ट ईमेल पते के लिए आधिकारिक है या नहीं। उन मामलों में जहां Google आधिकारिक है, उपयोगकर्ता को वर्तमान में वैध खाता स्वामी के रूप में जाना जाता है और आप पासवर्ड या अन्य चुनौतियों के तरीकों को छोड़ सकते हैं। अन्यथा, इन विधियों का उपयोग लिंक करने से पहले खाते को सत्यापित करने के लिए किया जा सकता है।

ऐसे मामले जहां Google आधिकारिक है:

  • email में @gmail.com प्रत्यय है, यह एक जीमेल खाता है।
  • email_verified सत्य है और hd सेट है, यह एक G Suite खाता है।

उपयोगकर्ता जीमेल या जी सूट का उपयोग किए बिना Google खातों के लिए पंजीकरण कर सकते हैं। जब email @gmail.com प्रत्यय नहीं होता है और hd अनुपस्थित होता है तो Google आधिकारिक नहीं होता है और उपयोगकर्ता को सत्यापित करने के लिए पासवर्ड या अन्य चुनौती विधियों की सिफारिश की जाती है। email_verfied भी सही हो सकता है क्योंकि Google ने उपयोगकर्ता को शुरू में सत्यापित किया था जब Google खाता बनाया गया था, हालांकि तृतीय पक्ष ईमेल खाते का स्वामित्व परिवर्तित होने के बाद हो सकता है।

验证用户信息并创建新帐号

检查是否满足以下任一条件:

  • Google 帐号 ID 可在用户的数据库中找到,可在断言的 sub 字段找到。
  • 断言中的电子邮件地址与您的用户数据库中的用户匹配。

如果任一条件为 true,请提示用户将其现有帐号与其 Google 帐号相关联。为此,请对请求进行响应,并提供指定 error=linking_error 并将用户的电子邮件地址作为 login_hint 的 HTTP 401 错误。以下是一个示例响应:

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8

{
  "error":"linking_error",
  "login_hint":"foo@bar.com"
}

Google 收到包含 linking_error 的 401 错误响应后,会将用户作为授权参数 login_hint 发送到您的授权端点。用户在浏览器中使用 OAuth 关联流程完成帐号关联。

如果两个条件都不满足,请使用 JWT 中提供的信息创建新的用户帐号。新帐号通常不会设置密码。建议您将 Google 登录功能添加到其他平台,以便用户能够在应用界面使用 Google 帐号登录。或者,您也可以通过电子邮件向用户发送一个启动密码恢复流程的链接,以便用户设置密码以在其他平台上登录。

创建完成后,发出访问令牌 ,并在 HTTPS 响应的正文中以 JSON 对象形式返回值,如以下示例所示:

{
  "token_type": "Bearer",
  "access_token": "ACCESS_TOKEN",

  "expires_in": SECONDS_TO_EXPIRATION
}

अपना Google API क्लाइंट आईडी पाना

खाता जोड़ने की रजिस्ट्रेशन प्रक्रिया के दौरान, आपको अपना Google API क्लाइंट आईडी देना होगा.

OAuth लिंकिंग के चरणों को पूरा करते समय, आपने जो प्रोजेक्ट बनाया है उसका इस्तेमाल करके, अपना एपीआई क्लाइंट आईडी पाने के लिए. ऐसा करने के लिए, यह तरीका अपनाएं:

  1. Google API (एपीआई) कंसोल के क्रेडेंशियल पेज खोलें.
  2. कोई Google API प्रोजेक्ट बनाएं या चुनें.

    अगर आपके प्रोजेक्ट में वेब ऐप्लिकेशन के लिए क्लाइंट आईडी नहीं है, तो क्रेडेंशियल बनाएं और gt; OAuth क्लाइंट आईडी पर क्लिक करें. अनुमति वाले JavaScript ऑरिजिन बॉक्स में, अपनी साइट के डोमेन को शामिल करना न भूलें. लोकल टेस्ट या डेवलपमेंट करते समय, आपको http://localhost और http://localhost:<port_number>, दोनों को अनुमति वाले JavaScript ऑरिजिन फ़ील्ड में जोड़ना होगा.

लागू करने की पुष्टि की जा रही है

आप का उपयोग करके अपने कार्यान्वयन को मान्य कर सकते OAuth 2.0 खेल का मैदान उपकरण।

टूल में, निम्न चरणों का पालन करें:

  1. कॉन्फ़िगरेशन क्लिक करें OAuth 2.0 विन्यास विंडो खोलने के लिए।
  2. OAuth प्रवाह क्षेत्र में, क्लाइंट-साइड का चयन करें।
  3. OAuth Endpoints क्षेत्र में, कस्टम का चयन करें।
  4. अपना OAuth 2.0 समापन बिंदु और संबंधित फ़ील्ड में आपके द्वारा Google को निर्दिष्ट क्लाइंट आईडी निर्दिष्ट करें।
  5. चरण 1 अनुभाग में, किसी भी गूगल कार्यक्षेत्रों का चयन नहीं करते। इसके बजाय, इस फ़ील्ड को खाली छोड़ दें या अपने सर्वर के लिए मान्य दायरा टाइप करें (या यदि आप OAuth स्कोप का उपयोग नहीं करते हैं तो एक मनमाना स्ट्रिंग)। यह करने के बाद, अधिकृत एपीआई पर क्लिक करें।
  6. चरण 2 और चरण 3 वर्गों में, OAuth 2.0 प्रवाह के माध्यम से जाना और सत्यापित करें कि प्रत्येक चरण के रूप में इरादा काम करता है।

आप का उपयोग करके अपने कार्यान्वयन को मान्य कर सकते गूगल खाता लिंक करना डेमो उपकरण।

टूल में, निम्न चरणों का पालन करें:

  1. क्लिक करें गूगल से प्रवेश करें बटन में।
  2. वह खाता चुनें जिसे आप लिंक करना चाहते हैं।
  3. सेवा आईडी दर्ज करें।
  4. वैकल्पिक रूप से एक या अधिक क्षेत्र दर्ज करें जिसके लिए आप एक्सेस का अनुरोध करेंगे।
  5. प्रारंभ डेमो क्लिक करें।
  6. संकेत मिलने पर, पुष्टि करें कि आप सहमति दे सकते हैं और लिंकिंग अनुरोध को अस्वीकार कर सकते हैं।
  7. पुष्टि करें कि आपको अपने प्लेटफ़ॉर्म पर पुनर्निर्देशित किया गया है।