खास जानकारी
OAuth पर आधारित 'Google साइन इन' को आसानी से लिंक करने की सुविधा, OAuth लिंकिंग के साथ-साथ 'Google साइन इन' को भी जोड़ती है. इससे, Google के उपयोगकर्ताओं को खाता लिंक करने का आसान अनुभव मिलता है. साथ ही, खाता बनाने की सुविधा भी चालू होती है. इससे उपयोगकर्ता, अपने Google खाते का इस्तेमाल करके आपकी सेवा पर नया खाता बना सकता है.
OAuth और Google Sign-In की मदद से खाता लिंक करने के लिए, ये सामान्य तरीके अपनाएं:
- सबसे पहले, उपयोगकर्ता से उसकी Google प्रोफ़ाइल को ऐक्सेस करने की सहमति मांगें.
- उपयोगकर्ता की प्रोफ़ाइल में मौजूद जानकारी का इस्तेमाल करके, यह देखें कि उसका खाता मौजूद है या नहीं.
- मौजूदा उपयोगकर्ताओं के लिए, खातों को लिंक करें.
- अगर आपको पुष्टि करने वाले अपने सिस्टम में, Google उपयोगकर्ता से मैच होने वाला कोई उपयोगकर्ता नहीं मिलता है, तो Google से मिले आईडी टोकन की पुष्टि करें. इसके बाद, आईडी टोकन में मौजूद प्रोफ़ाइल की जानकारी के आधार पर उपयोगकर्ता बनाया जा सकता है.

पहली इमेज. आसानी से लिंक करने की सुविधा की मदद से, उपयोगकर्ता के फ़ोन पर खाता लिंक करना
आसानी से लिंक करने की सुविधा के लिए ज़रूरी शर्तें
- वेब पर OAuth लिंक करने का बुनियादी तरीका लागू करें. आपकी सेवा, OAuth 2.0 के मुताबिक काम करने वाले ऑथराइज़ेशन और टोकन एक्सचेंज एंडपॉइंट के साथ काम करनी चाहिए.
- आपका टोकन एक्सचेंज एंडपॉइंट, JSON वेब टोकन (JWT) के दावों के साथ काम करना चाहिए. साथ ही,
check
,create
, औरget
इंटेंट लागू करना चाहिए.
अपना OAuth सर्वर लागू करना
आपके टोकन एक्सचेंज एंडपॉइंट में check
, create
, get
इंटेंट काम करने चाहिए. यहां खाता लिंक करने के फ़्लो के दौरान पूरे किए गए चरणों को दिखाया गया है. साथ ही, यह भी बताया गया है कि अलग-अलग इंटेंट कब कॉल किए जाते हैं:
- क्या उपयोगकर्ता के पास आपके पुष्टि करने वाले सिस्टम में खाता है? (उपयोगकर्ता हां या नहीं चुनकर तय करता है)
- हां : क्या उपयोगकर्ता आपके प्लैटफ़ॉर्म में साइन इन करने के लिए, अपने Google खाते से जुड़े ईमेल पते का इस्तेमाल करता है? (उपयोगकर्ता हां या नहीं चुनकर तय करता है)
- हां : क्या उपयोगकर्ता के पास पुष्टि करने वाले आपके सिस्टम में मैच होने वाला खाता है? (पुष्टि करने के लिए
check intent
को कॉल किया जाता है)- हां :
get intent
को कॉल किया जाता है और अगर get intent सही तरीके से काम करता है, तो खाता लिंक हो जाता है. - नहीं : नया खाता बनाना? (उपयोगकर्ता हां या नहीं चुनकर तय करता है)
- हां :
create intent
को कॉल किया जाता है और खाता लिंक हो जाता है. ऐसा तब होता है, जब create intent फ़ंक्शन सही तरीके से काम करता है. - नहीं : वेब OAuth फ़्लो ट्रिगर होता है, उपयोगकर्ता को उसके ब्राउज़र पर भेजा जाता है, और उपयोगकर्ता को किसी दूसरे ईमेल से लिंक करने का विकल्प दिया जाता है.
- हां :
- हां :
- नहीं : वेब OAuth फ़्लो ट्रिगर होता है. इसके बाद, उपयोगकर्ता को उसके ब्राउज़र पर भेजा जाता है और उसे किसी दूसरे ईमेल पते से लिंक करने का विकल्प दिया जाता है.
- हां : क्या उपयोगकर्ता के पास पुष्टि करने वाले आपके सिस्टम में मैच होने वाला खाता है? (पुष्टि करने के लिए
- नहीं : क्या उपयोगकर्ता के पास पुष्टि करने वाले आपके सिस्टम में मैच होने वाला खाता है? (पुष्टि करने के लिए
check intent
को कॉल किया जाता है)- हां :
get intent
को कॉल किया जाता है और अगर get intent सही तरीके से काम करता है, तो खाता लिंक हो जाता है. - नहीं :
create intent
को कॉल किया जाता है और खाता लिंक हो जाता है, अगर create intent सही तरीके से काम करता है.
- हां :
- हां : क्या उपयोगकर्ता आपके प्लैटफ़ॉर्म में साइन इन करने के लिए, अपने Google खाते से जुड़े ईमेल पते का इस्तेमाल करता है? (उपयोगकर्ता हां या नहीं चुनकर तय करता है)
检查现有用户账号(检查 intent)
在用户同意访问其 Google 个人资料后,Google 会发送 请求,其中包含 Google 用户身份的已签名断言。通过 断言包含的信息包括用户的 Google 账号 ID、 姓名和电子邮件地址为您的 Google Cloud 控制台配置的令牌交换端点 项目处理该请求。
如果您的身份验证中已有相应的 Google 账号
系统时,您的令牌交换端点会返回 account_found=true
。如果
Google 账号与现有用户不匹配,您的令牌交换端点
返回“HTTP 404 Not Found”错误以及 account_found=false
。
请求的格式如下:
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 解码库。使用 Google 的公钥,在 JWK 或 PEM 格式,用于验证 令牌的签名。
解码后,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
,这是一个 Gmail 账号。email_verified
为 true 且hd
已设置,这是 G Suite 账号。
用户无需使用 Gmail 或 G Suite 即可注册 Google 账号。时间
email
不包含 @gmail.com
后缀,且 hd
不存在 Google 不
建议使用权威凭据和密码或其他验证方法进行验证
用户。email_verified
可能为 true,因为 Google 最初验证了
创建 Google 账号后,该用户会获得第三方的所有权,
后,电子邮件账号可能已更改。
检查您的身份验证系统中是否已存在该 Google 账号
请检查以下任一条件是否成立:
- Google 账号 ID(可在断言的
sub
字段中找到)位于您的用户中 数据库。 - 断言中的电子邮件地址与用户数据库中的用户匹配。
如果满足上述任一条件,则表明用户已注册。在这种情况下 返回如下所示的响应:
HTTP/1.1 200 Success Content-Type: application/json;charset=UTF-8 { "account_found":"true", }
如果 Google 账号 ID 和
断言与您的数据库中的用户匹配,该用户尚未注册。在
在这种情况下,您的令牌交换端点需要返回 HTTP 404 错误
指定 "account_found": "false"
,如以下示例所示:
HTTP/1.1 404 Not found Content-Type: application/json;charset=UTF-8 { "account_found":"false", }
अपने-आप लिंक होने की सुविधा मैनेज करना (इंटेंट पाएं)
जब उपयोगकर्ता अपनी Google प्रोफ़ाइल को ऐक्सेस करने की सहमति देता है, तो Google ऐसा अनुरोध जिसमें Google उपयोगकर्ता की पहचान का हस्ताक्षर किया गया दावा शामिल हो. कॉन्टेंट बनाने दावे में ऐसी जानकारी शामिल है जिसमें उपयोगकर्ता का Google खाता आईडी शामिल है, आपका नाम और ईमेल पता. आपके लिए कॉन्फ़िगर किया गया टोकन एक्सचेंज एंडपॉइंट प्रोजेक्ट हैंडल करता है.
अगर इससे जुड़ा 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 Token (JWT), जो Google का हस्ताक्षर किया गया दावा उपलब्ध कराता है उपयोगकर्ता की पहचान होती है. JWT में ऐसी जानकारी होती है जिसमें उपयोगकर्ता Google खाता आईडी, नाम, और ईमेल पता. |
scope |
ज़रूरी नहीं: ऐसे कोई भी दायरे जिन्हें आपने Google को, अनुरोध करने के लिए कॉन्फ़िगर किया है उपयोगकर्ता. |
client_id |
वह क्लाइंट आईडी जिसे आपने Google को असाइन किया है. |
client_secret |
वह क्लाइंट सीक्रेट जिसे आपने Google को असाइन किया है. |
get
इंटेंट के अनुरोधों का जवाब देने के लिए, आपके टोकन एक्सचेंज एंडपॉइंट को ये चरण पूरे करने होंगे:
- JWT के दावे की पुष्टि करें और उन्हें डिकोड करें.
- देखें कि आपके पुष्टि करने वाले सिस्टम में Google खाता पहले से मौजूद है या नहीं.
验证和解码 JWT 断言
您可以使用 适用于您所用语言的 JWT 解码库。使用 Google 的公钥,在 JWK 或 PEM 格式,用于验证 令牌的签名。
解码后,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
,这是一个 Gmail 账号。email_verified
为 true 且hd
已设置,这是 G Suite 账号。
用户无需使用 Gmail 或 G Suite 即可注册 Google 账号。时间
email
不包含 @gmail.com
后缀,且 hd
不存在 Google 不
建议使用权威凭据和密码或其他验证方法进行验证
用户。email_verified
可能为 true,因为 Google 最初验证了
创建 Google 账号后,该用户会获得第三方的所有权,
后,电子邮件账号可能已更改。
देखें कि आपके पुष्टि करने वाले सिस्टम में Google खाता पहले से मौजूद है या नहीं
देखें कि इनमें से कोई एक शर्त सही है या नहीं:
- दावे के
sub
फ़ील्ड में मौजूद Google खाता आईडी, आपके उपयोगकर्ता का है डेटाबेस. - दावे में दिया गया ईमेल पता, आपके उपयोगकर्ता डेटाबेस के किसी उपयोगकर्ता से मेल खाता है.
अगर उपयोगकर्ता का कोई खाता मिल जाता है, तो ऐक्सेस टोकन जारी करें और अपने एचटीटीपीएस रिस्पॉन्स के मुख्य हिस्से में, JSON ऑब्जेक्ट में वैल्यू दिखाएं, जैसा कि इस उदाहरण में दिखाया गया है:
{ "token_type": "Bearer", "access_token": "ACCESS_TOKEN", "refresh_token": "REFRESH_TOKEN", "expires_in": SECONDS_TO_EXPIRATION }
कुछ मामलों में, हो सकता है कि आईडी टोकन के आधार पर खाता लिंक न किया जा सके. अगर यह
किसी भी वजह से ऐसा करता है, तो आपके टोकन एक्सचेंज एंडपॉइंट को एचटीटीपी के साथ जवाब देना होगा
401 वाली गड़बड़ी, जो error=linking_error
के बारे में बताती है, जैसा कि नीचे दिए गए उदाहरण में बताया गया है:
HTTP/1.1 401 Unauthorized Content-Type: application/json;charset=UTF-8 { "error":"linking_error", "login_hint":"foo@bar.com" }
जब Google को linking_error
के साथ 401 वाली गड़बड़ी का जवाब मिलता है, तो Google
उपयोगकर्ता को आपके ऑथराइज़ेशन एंडपॉइंट पर भेजने के लिए, पैरामीटर के तौर पर login_hint
का इस्तेमाल करता है. कॉन्टेंट बनाने
उपयोगकर्ता अपने ब्राउज़र में OAuth लिंक करने के फ़्लो का इस्तेमाल करके, खाता लिंक करता है.
'Google साइन-इन' के ज़रिए खाता बनाने का काम मैनेज करना (इंटेंट बनाएं)
जब किसी उपयोगकर्ता को आपकी सेवा पर खाता बनाना होता है, तब 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 Token (JWT), जो Google का हस्ताक्षर किया गया दावा उपलब्ध कराता है उपयोगकर्ता की पहचान होती है. JWT में ऐसी जानकारी होती है जिसमें उपयोगकर्ता Google खाता आईडी, नाम, और ईमेल पता. |
client_id |
वह क्लाइंट आईडी जिसे आपने Google को असाइन किया है. |
client_secret |
वह क्लाइंट सीक्रेट जिसे आपने Google को असाइन किया है. |
assertion
पैरामीटर के JWT में उपयोगकर्ता का Google खाता आईडी होता है,
नाम और ईमेल पता, जिनका उपयोग करके आप अपने
सेवा.
create
इंटेंट के अनुरोधों का जवाब देने के लिए, आपके टोकन एक्सचेंज एंडपॉइंट को ये चरण पूरे करने होंगे:
- JWT के दावे की पुष्टि करें और उन्हें डिकोड करें.
- उपयोगकर्ता की जानकारी की पुष्टि करें और नया खाता बनाएं.
验证和解码 JWT 断言
您可以使用 适用于您所用语言的 JWT 解码库。使用 Google 的公钥,在 JWK 或 PEM 格式,用于验证 令牌的签名。
解码后,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
,这是一个 Gmail 账号。email_verified
为 true 且hd
已设置,这是 G Suite 账号。
用户无需使用 Gmail 或 G Suite 即可注册 Google 账号。时间
email
不包含 @gmail.com
后缀,且 hd
不存在 Google 不
建议使用权威凭据和密码或其他验证方法进行验证
用户。email_verified
可能为 true,因为 Google 最初验证了
创建 Google 账号后,该用户会获得第三方的所有权,
后,电子邮件账号可能已更改。
उपयोगकर्ता जानकारी की पुष्टि करें और नया खाता बनाएं
देखें कि इनमें से कोई एक शर्त सही है या नहीं:
- दावे के
sub
फ़ील्ड में मौजूद Google खाता आईडी, आपके उपयोगकर्ता का है डेटाबेस. - दावे में दिया गया ईमेल पता, आपके उपयोगकर्ता डेटाबेस के किसी उपयोगकर्ता से मेल खाता है.
अगर दोनों में से कोई भी शर्त सही है, तो उपयोगकर्ता को उसका मौजूदा खाता लिंक करने के लिए कहें
साइन इन करना होगा. ऐसा करने के लिए, अनुरोध का जवाब एचटीटीपी 401 गड़बड़ी के साथ दें
जो error=linking_error
के बारे में बताता है और उपयोगकर्ता का ईमेल पता
login_hint
. यहां रिस्पॉन्स का सैंपल दिया गया है:
HTTP/1.1 401 Unauthorized Content-Type: application/json;charset=UTF-8 { "error":"linking_error", "login_hint":"foo@bar.com" }
जब Google को linking_error
के साथ 401 वाली गड़बड़ी का जवाब मिलता है, तो Google
उपयोगकर्ता को आपके ऑथराइज़ेशन एंडपॉइंट पर भेजने के लिए, पैरामीटर के तौर पर login_hint
का इस्तेमाल करता है. कॉन्टेंट बनाने
उपयोगकर्ता अपने ब्राउज़र में OAuth लिंक करने के फ़्लो का इस्तेमाल करके, खाता लिंक करता है.
अगर कोई भी शर्त सही नहीं होती है, तो इस जानकारी के साथ एक नया उपयोगकर्ता खाता बनाएं में दी गई जानकारी होती है. नए खातों में आम तौर पर पासवर्ड सेट नहीं होता है. यह समय है हमारा सुझाव है कि आप अन्य प्लैटफ़ॉर्म में 'Google साइन इन' को जोड़ें, ताकि उपयोगकर्ता इन कामों को कर सकें अपने ऐप्लिकेशन के सभी प्लैटफ़ॉर्म पर Google के साथ लॉग इन करें. इसके अलावा, आपके पास उपयोगकर्ता को एक ऐसा लिंक ईमेल कर सकता है जो अन्य प्लैटफ़ॉर्म पर साइन इन करने के लिए उपयोगकर्ता को पासवर्ड सेट करना होगा.
कॉन्टेंट बनाने के बाद, ऐक्सेस टोकन जारी करें और JSON ऑब्जेक्ट में वैल्यू आपके एचटीटीपीएस रिस्पॉन्स का मुख्य हिस्सा, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:
{ "token_type": "Bearer", "access_token": "ACCESS_TOKEN", "refresh_token": "REFRESH_TOKEN", "expires_in": SECONDS_TO_EXPIRATION }
अपना Google API क्लाइंट आईडी पाना
खाता लिंक करने के रजिस्ट्रेशन की प्रोसेस के दौरान, आपको अपना Google API क्लाइंट आईडी देना होगा.
OAuth लिंक करने के लिए, आपने जो प्रोजेक्ट बनाया है उसका इस्तेमाल करके अपना एपीआई क्लाइंट आईडी पाने के लिए. ऐसा करने के लिए, यह तरीका अपनाएं:
Google API प्रोजेक्ट बनाएं या कोई मौजूदा प्रोजेक्ट चुनें.
अगर आपके प्रोजेक्ट में वेब ऐप्लिकेशन टाइप के लिए क्लाइंट आईडी नहीं है, तो एक बनाने के लिए क्लाइंट बनाएं पर क्लिक करें. अनुमति वाले JavaScript ऑरिजिन बॉक्स में, अपनी साइट का डोमेन ज़रूर शामिल करें. लोकल टेस्ट या डेवलपमेंट करते समय, आपको अनुमति वाले JavaScript ऑरिजिन फ़ील्ड में
http://localhost
औरhttp://localhost:<port_number>
, दोनों को जोड़ना होगा.
लागू करने की पुष्टि करना
您可以使用 OAuth 2.0 Playground 工具验证您的实现。
在该工具中,执行以下步骤:
- 点击配置 以打开 OAuth 2.0 配置窗口。
- 在 OAuth flow 字段中,选择 Client-side(客户端)。
- 在 OAuth 端点字段中,选择自定义。
- 在相应字段中指定您的 OAuth 2.0 端点和您分配给 Google 的客户端 ID。
- 在第 1 步部分,不要选择任何 Google 范围。请将此字段留空或输入对服务器有效的范围(如果您不使用 OAuth 范围,则可以输入任意字符串)。完成后,点击授权 API。
- 在 Step 2 和 Step 3 部分中,完成 OAuth 2.0 流程,并验证每个步骤是否按预期运行。
您可以使用 Google 账号关联演示版工具验证您的实现。
在该工具中,执行以下步骤:
- 点击使用 Google 账号登录按钮。
- 选择您要关联的账号。
- 输入服务 ID。
- (可选)输入您要请求访问权限的一个或多个范围。
- 点击开始演示。
- 当系统提示时,请确认您同意或拒绝关联请求。
- 确认您已被重定向到您的平台。