ภาพรวม
การลิงก์ Google Sign-In ตาม OAuth ที่มีประสิทธิภาพยิ่งขึ้นจะเพิ่ม Google Sign-In นอกเหนือจาก การลิงก์ OAuth วิธีนี้มอบประสบการณ์การลิงก์ที่ราบรื่นสำหรับ ผู้ใช้ Google และยังเปิดใช้การสร้างบัญชี ซึ่งทำให้ผู้ใช้สามารถสร้างบัญชีใหม่ในบริการของคุณโดยใช้บัญชี Google ของตน
ในการลิงก์บัญชีด้วย OAuth และ Google Sign-In โปรดทำตามหลักเกณฑ์ทั่วไปต่อไปนี้ ขั้นตอน:
- ขั้นแรก ให้ผู้ใช้ให้ความยินยอมในการเข้าถึงโปรไฟล์ Google
- ใช้ข้อมูลในโปรไฟล์เพื่อตรวจสอบว่ามีบัญชีผู้ใช้อยู่แล้วหรือไม่
- ลิงก์บัญชีสำหรับผู้ใช้เดิม
- หากไม่พบข้อมูลที่ตรงกันสำหรับผู้ใช้ Google ในระบบการตรวจสอบสิทธิ์ ตรวจสอบโทเค็นรหัสที่ได้รับจาก Google จากนั้นคุณสามารถสร้างผู้ใช้ตาม ในโปรไฟล์ที่อยู่ในโทเค็นรหัส
รูปที่ 1 การลิงก์บัญชีในโทรศัพท์ของผู้ใช้ด้วยการลิงก์ที่มีประสิทธิภาพ
ข้อกำหนดสำหรับการลิงก์ที่มีประสิทธิภาพยิ่งขึ้น
- ใช้ขั้นตอนการลิงก์ OAuth ในเว็บพื้นฐาน บริการของคุณต้องรองรับ OAuth 2.0 การให้สิทธิ์และปลายทางการแลกเปลี่ยนโทเค็น
- ปลายทาง Token Exchange ต้องรองรับการยืนยัน JSON Web Token (JWT) และใช้ Intent
check
,create
และget
ใช้เซิร์ฟเวอร์ OAuth
ปลายทางการแลกเปลี่ยนโทเค็นต้องรองรับ Intent check
, create
, get
ด้านล่างแสดงขั้นตอนที่เสร็จสมบูรณ์ผ่านขั้นตอนการลิงก์บัญชี และระบุเมื่อมีการเรียก Intent ต่างๆ
- ผู้ใช้มีบัญชีในระบบการตรวจสอบสิทธิ์ของคุณหรือไม่ (ผู้ใช้ตัดสินใจโดยเลือก "ใช่" หรือ "ไม่")
- ใช่ : ผู้ใช้ใช้อีเมลที่เชื่อมโยงกับบัญชี Google เพื่อลงชื่อเข้าใช้แพลตฟอร์มของคุณหรือไม่ (ผู้ใช้ตัดสินใจโดยเลือก "ใช่" หรือ "ไม่")
- ใช่ : ผู้ใช้มีบัญชีที่ตรงกันในระบบการตรวจสอบสิทธิ์ของคุณหรือไม่ (ระบบจะเรียกใช้
check intent
เพื่อยืนยัน)- ใช่ : ระบบจะเรียกใช้
get intent
และบัญชีลิงก์หากรับ Intent คืนสำเร็จ - ไม่ : สร้างบัญชีใหม่หรือไม่ (ผู้ใช้ตัดสินใจโดยเลือก "ใช่" หรือ "ไม่")
- ใช่ : ระบบจะเรียกใช้
create intent
และบัญชีลิงก์หากสร้าง Intent สำเร็จแล้ว - ไม่ : ขั้นตอน OAuth ของเว็บจะถูกเรียกใช้ ระบบจะนำผู้ใช้ไปยังเบราว์เซอร์ และผู้ใช้จะมีตัวเลือกให้ลิงก์กับอีเมลอื่น
- ใช่ : ระบบจะเรียกใช้
- ใช่ : ระบบจะเรียกใช้
- ไม่ใช่ : ขั้นตอน OAuth ในเว็บจะทริกเกอร์ ระบบจะนำผู้ใช้ไปยังเบราว์เซอร์ และผู้ใช้จะมีตัวเลือกให้ลิงก์กับอีเมลอื่น
- ใช่ : ผู้ใช้มีบัญชีที่ตรงกันในระบบการตรวจสอบสิทธิ์ของคุณหรือไม่ (ระบบจะเรียกใช้
- ไม่ : ผู้ใช้มีบัญชีที่ตรงกันในระบบการตรวจสอบสิทธิ์ของคุณหรือไม่ (ระบบจะเรียกใช้
check intent
เพื่อยืนยัน)- ใช่ : ระบบจะเรียกใช้
get intent
และบัญชีลิงก์หากรับ Intent คืนสำเร็จ - ไม่ : ระบบจะเรียกใช้
create intent
และบัญชีลิงก์หากสร้าง Intent สำเร็จ
- ใช่ : ระบบจะเรียกใช้
- ใช่ : ผู้ใช้ใช้อีเมลที่เชื่อมโยงกับบัญชี Google เพื่อลงชื่อเข้าใช้แพลตฟอร์มของคุณหรือไม่ (ผู้ใช้ตัดสินใจโดยเลือก "ใช่" หรือ "ไม่")
ตรวจสอบบัญชีผู้ใช้ที่มีอยู่ (ตรวจสอบ Intent)
หลังจากที่ผู้ใช้ให้ความยินยอมในการเข้าถึงโปรไฟล์ Google แล้ว Google จะส่ง คำขอที่มีการยืนยันข้อมูลประจำตัวของผู้ใช้ Google ที่ลงชื่อ การยืนยันจะมีข้อมูลที่มีรหัสบัญชี Google ของผู้ใช้ ชื่อ และที่อยู่อีเมล ปลายทางการแลกเปลี่ยนโทเค็นที่กำหนดค่าไว้สำหรับ โปรเจ็กต์จะจัดการคำขอนั้น
หากมีบัญชี 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 Token (JWT) ที่แสดงการยืนยันของ Google ข้อมูลประจำตัวของผู้ใช้ JWT มีข้อมูลที่ประกอบด้วย รหัส ชื่อ และอีเมลของบัญชี Google |
client_id |
รหัสไคลเอ็นต์ที่คุณกำหนดให้กับ Google |
client_secret |
รหัสลับไคลเอ็นต์ที่คุณกำหนดให้กับ Google |
หากต้องการตอบกลับคำขอ Intent check
ปลายทางการแลกเปลี่ยนโทเค็นต้องทำตามขั้นตอนต่อไปนี้
- ตรวจสอบและถอดรหัสการยืนยัน 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 ที่พบในช่อง
sub
ของการยืนยันนั้นอยู่ในผู้ใช้ของคุณ ฐานข้อมูล - อีเมลในการยืนยันตรงกับผู้ใช้ในฐานข้อมูลผู้ใช้
หากเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง แสดงว่าผู้ใช้ได้ลงชื่อสมัครใช้แล้ว ในกรณีดังกล่าว จะแสดงการตอบกลับดังตัวอย่างต่อไปนี้
HTTP/1.1 200 Success Content-Type: application/json;charset=UTF-8 { "account_found":"true", }
หากทั้งรหัสบัญชี Google และอีเมลที่ระบุไว้ใน
การยืนยันตรงกับผู้ใช้ในฐานข้อมูลของคุณ ซึ่งผู้ใช้ยังไม่ได้ลงชื่อสมัครใช้ ใน
ในกรณีนี้ ปลายทางการแลกเปลี่ยนโทเค็นจะต้องตอบกลับพร้อมข้อผิดพลาด HTTP 404
ที่ระบุ "account_found": "false"
ตามตัวอย่างต่อไปนี้
HTTP/1.1 404 Not found Content-Type: application/json;charset=UTF-8 { "account_found":"false", }
处理自动链接(获取 intent)
在用户同意访问其 Google 个人资料后,Google 会发送 请求,其中包含 Google 用户身份的已签名断言。通过 断言包含的信息包括用户的 Google 账号 ID、 姓名和电子邮件地址为您的 Google Cloud 控制台配置的令牌交换端点 项目处理该请求。
如果您的身份验证中已有相应的 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 解码库。使用 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
字段中找到)位于您的用户中 数据库。 - 断言中的电子邮件地址与用户数据库中的用户匹配。
如果找到了用户的账号,请发出访问令牌,并在 HTTPS 响应正文的 JSON 对象中返回相应值,如以下示例所示:
{ "token_type": "Bearer", "access_token": "ACCESS_TOKEN", "expires_in": SECONDS_TO_EXPIRATION }
在某些情况下,基于 ID 令牌的账号关联可能会失败。如果
因为任何原因,您的令牌交换端点都需要以 HTTP 响应
指定 error=linking_error
的 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 Sign-In (สร้าง 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 Token (JWT) ที่แสดงการยืนยันของ Google ข้อมูลประจำตัวของผู้ใช้ JWT มีข้อมูลที่ประกอบด้วย รหัส ชื่อ และอีเมลของบัญชี Google |
client_id |
รหัสไคลเอ็นต์ที่คุณกำหนดให้กับ Google |
client_secret |
รหัสลับไคลเอ็นต์ที่คุณกำหนดให้กับ Google |
JWT ภายในพารามิเตอร์ assertion
มีรหัสบัญชี Google ของผู้ใช้
และที่อยู่อีเมลซึ่งคุณใช้สร้างบัญชีใหม่ในบัญชี
service.
หากต้องการตอบกลับคำขอ Intent 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 账号后,该用户会获得第三方的所有权,
后,电子邮件账号可能已更改。
ตรวจสอบข้อมูลผู้ใช้และสร้างบัญชีใหม่
ตรวจสอบว่าเงื่อนไขใดเงื่อนไขหนึ่งต่อไปนี้เป็นจริง
- รหัสบัญชี Google ที่พบในช่อง
sub
ของการยืนยันนั้นอยู่ในผู้ใช้ของคุณ ฐานข้อมูล - อีเมลในการยืนยันตรงกับผู้ใช้ในฐานข้อมูลผู้ใช้
หากเงื่อนไขข้อใดข้อหนึ่งเป็นจริง แจ้งให้ผู้ใช้ลิงก์บัญชีที่มีอยู่
ด้วยบัญชี Google ของตน ในการดำเนินการดังกล่าว ให้ตอบกลับคำขอด้วยข้อผิดพลาด HTTP 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 ได้รับการตอบกลับข้อผิดพลาด 401 ด้วย linking_error
ทาง Google จะส่ง
ผู้ใช้ไปยังปลายทางการให้สิทธิ์โดยมี login_hint
เป็นพารามิเตอร์
ผู้ใช้ลิงก์บัญชีให้เสร็จสมบูรณ์โดยใช้ขั้นตอนการลิงก์ OAuth ในเบราว์เซอร์
หากไม่มีเงื่อนไขใดเป็นจริง ให้สร้างบัญชีผู้ใช้ใหม่พร้อมระบุข้อมูล ที่ให้ไว้ใน JWT โดยทั่วไป บัญชีใหม่จะไม่ตั้งรหัสผ่าน ตอนนี้ ขอแนะนำให้คุณเพิ่ม Google Sign-In ลงในแพลตฟอร์มอื่นๆ เพื่อช่วยให้ผู้ใช้ ให้เข้าสู่ระบบด้วย Google ในแพลตฟอร์มต่างๆ ของแอปพลิเคชัน หรือคุณอาจเลือก สามารถส่งอีเมลลิงก์ที่เริ่มต้นกระบวนการกู้คืนรหัสผ่านให้กับผู้ใช้เพื่ออนุญาต ตั้งรหัสผ่านเพื่อลงชื่อเข้าใช้ในแพลตฟอร์มอื่น
เมื่อสร้างเสร็จแล้ว ให้ออกโทเค็นเพื่อการเข้าถึง จากนั้นแสดงผลค่าในออบเจ็กต์ JSON ใน ส่วนเนื้อหาของการตอบกลับ HTTPS ดังตัวอย่างต่อไปนี้
{ "token_type": "Bearer", "access_token": "ACCESS_TOKEN", "expires_in": SECONDS_TO_EXPIRATION }
รับรหัสไคลเอ็นต์ของ Google API
คุณจะต้องระบุรหัสไคลเอ็นต์ Google API ในระหว่างขั้นตอนการลงทะเบียนการลิงก์บัญชี
ในการรับรหัสไคลเอ็นต์ API โดยใช้โปรเจ็กต์ที่คุณสร้างขณะทำตามขั้นตอนการลิงก์ OAuth โดยทำตามขั้นตอนต่อไปนี้
- เปิดหน้าข้อมูลเข้าสู่ระบบของ คอนโซล Google API
สร้างหรือเลือกโปรเจ็กต์ Google APIs
หากโครงการของคุณไม่มีรหัสไคลเอ็นต์สำหรับประเภทเว็บแอปพลิเคชัน ให้คลิก สร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth เพื่อสร้าง อย่าลืมใส่ โดเมนของเว็บไซต์ในช่องต้นทาง JavaScript ที่ได้รับอนุญาต เมื่อคุณดำเนินการ การทดสอบหรือการพัฒนาในเครื่อง คุณต้องเพิ่มทั้ง
http://localhost
และhttp://localhost:<port_number>
ลงในช่องต้นทาง JavaScript ที่ได้รับอนุญาต
การตรวจสอบการติดตั้งใช้งาน
คุณสามารถตรวจสอบการดำเนินงานของคุณโดยใช้ OAuth 2.0 สนามเด็กเล่น เครื่องมือ
ในเครื่องมือ ให้ทำตามขั้นตอนต่อไปนี้:
- คลิกการกำหนดค่า เพื่อเปิดหน้าต่าง OAuth 2.0 การกำหนดค่า
- ในด้านการไหล OAuth เลือกฝั่งไคลเอ็นต์
- ในฟิลด์ OAuth ปลายทางเลือกที่กำหนดเอง
- ระบุตำแหน่งข้อมูล OAuth 2.0 และรหัสไคลเอ็นต์ที่คุณกำหนดให้กับ Google ในช่องที่เกี่ยวข้อง
- ในขั้นตอนที่ 1 ส่วนที่ไม่ได้เลือกขอบเขตใด ๆ ของ Google ให้ปล่อยฟิลด์นี้ว่างไว้หรือพิมพ์ขอบเขตที่ถูกต้องสำหรับเซิร์ฟเวอร์ของคุณ (หรือสตริงที่กำหนดเองหากคุณไม่ได้ใช้ขอบเขต OAuth) เมื่อคุณทำเสร็จแล้วคลิกอนุญาต APIs
- ในขั้นตอนที่ 2 และขั้นตอนที่ 3 ส่วนไปไหลผ่าน OAuth 2.0 และตรวจสอบว่าแต่ละขั้นตอนการทำงานตามที่ตั้งใจไว้
คุณสามารถตรวจสอบการดำเนินงานของคุณโดยใช้ บัญชี Google เชื่อมโยงการสาธิต เครื่องมือ
ในเครื่องมือ ให้ทำตามขั้นตอนต่อไปนี้:
- คลิกเข้าสู่ระบบด้วยปุ่ม Google
- เลือกบัญชีที่คุณต้องการเชื่อมโยง
- ป้อนรหัสบริการ
- เลือกป้อนขอบเขตอย่างน้อยหนึ่งขอบเขตที่คุณจะร้องขอการเข้าถึง
- คลิกเริ่มการสาธิต
- เมื่อได้รับแจ้ง ให้ยืนยันว่าคุณอาจยินยอมและปฏิเสธคำขอเชื่อมโยง
- ยืนยันว่าคุณถูกเปลี่ยนเส้นทางไปยังแพลตฟอร์มของคุณ