ข้อมูลอ้างอิงนี้อธิบายเกี่ยวกับไลบรารี JavaScript API สำหรับการให้สิทธิ์ของบุคคลที่สามของ Google ซึ่งคุณสามารถใช้เพื่อโหลดรหัสการให้สิทธิ์หรือเข้าถึงโทเค็นจาก Google
เมธอด: google.accounts.oauth2.initCodeClient
เมธอด initCodeClient
จะเริ่มต้นและแสดงผลไคลเอ็นต์โค้ด โดยมีเมธอด
การกำหนดค่าในพารามิเตอร์
google.accounts.oauth2.initCodeClient(config: CodeClientConfig)
ประเภทข้อมูล: CodeClientConfig
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้ของประเภทข้อมูล CodeClientConfig
พร็อพเพอร์ตี้ | |
---|---|
client_id
|
ต้องระบุ รหัสไคลเอ็นต์สำหรับแอปพลิเคชันของคุณ คุณดูค่านี้ได้ในคอนโซล API |
scope
|
ต้องระบุ รายการขอบเขตที่คั่นด้วยช่องว่างซึ่งระบุทรัพยากรที่แอปพลิเคชันเข้าถึงได้ในนามของผู้ใช้ ค่าเหล่านี้จะบอกหน้าจอคำยินยอมที่ Google แสดงต่อผู้ใช้ |
include_granted_scopes |
ไม่บังคับ ค่าเริ่มต้นคือ true อนุญาตให้แอปพลิเคชันใช้ค่าเพิ่มเติม
การให้สิทธิ์ในการขอสิทธิ์เข้าถึงขอบเขตเพิ่มเติมในบริบท หากตั้งค่าไว้
ค่าของพารามิเตอร์นี้เป็น false และจะได้รับคำขอการให้สิทธิ์ จากนั้น
โทเค็นเพื่อการเข้าถึงใหม่จะครอบคลุมเฉพาะขอบเขตที่ scope ขอ
ในCodeClientConfig นี้
|
redirect_uri
|
จำเป็นสำหรับ UX การเปลี่ยนเส้นทาง กำหนดว่าเซิร์ฟเวอร์ API จะเปลี่ยนเส้นทางผู้ใช้ไปที่ใดหลังจากที่ผู้ใช้ดำเนินการให้สิทธิ์เสร็จสิ้นแล้ว ค่านี้ต้องตรงกับ URI การเปลี่ยนเส้นทางที่ได้รับอนุญาตรายการใดรายการหนึ่งสำหรับไคลเอ็นต์ OAuth 2.0 ซึ่งคุณกำหนดค่าไว้ในคอนโซล API และต้องสอดคล้องกับกฎการตรวจสอบ URI การเปลี่ยนเส้นทาง UX แบบป๊อปอัปจะละเว้นพร็อพเพอร์ตี้นี้ |
callback |
ต้องระบุสำหรับ UX แบบป๊อปอัป ฟังก์ชัน JavaScript ที่จัดการการตอบสนองของโค้ดที่ส่งคืน UX การเปลี่ยนเส้นทางจะไม่สนใจพร็อพเพอร์ตี้นี้ |
state |
ไม่บังคับ แนะนำสำหรับ UX การเปลี่ยนเส้นทาง ระบุค่าสตริงที่แอปพลิเคชันใช้เพื่อรักษาสถานะระหว่างคำขอการให้สิทธิ์และการตอบกลับของเซิร์ฟเวอร์การให้สิทธิ์ |
enable_granular_consent |
ไม่บังคับ ค่าเริ่มต้นคือ true หากตั้งค่าเป็น false สิทธิ์ในบัญชี Google ที่ละเอียดยิ่งขึ้น
จะถูกปิดใช้งานสำหรับรหัสไคลเอ็นต์ OAuth ที่สร้างก่อนปี 2019 หากมีการตั้งค่าทั้ง enable_granular_consent และ enable_serial_consent ไว้ จะมีเพียง enable_granular_consent
จะมีผลและระบบจะไม่สนใจค่า enable_serial_consent จะไม่มีผลกับรหัสไคลเอ็นต์ OAuth ที่ใหม่กว่า เนื่องจากระบบจะเปิดใช้สิทธิ์ที่ละเอียดยิ่งขึ้นสำหรับรหัสไคลเอ็นต์อยู่เสมอ |
enable_serial_consent |
เลิกใช้งานแล้ว คุณควรใช้ enable_granular_consent แทน ช่วงเวลานี้
ให้ผลเหมือนกับ enable_granular_consent แอปพลิเคชันที่มีอยู่
ที่ใช้ enable_serial_consent สามารถดำเนินการเช่นนั้นต่อไปได้ แต่คุณยังคง
ได้รับการสนับสนุนให้อัปเดตโค้ดของคุณเพื่อใช้ enable_granular_consent ใน
การอัปเดตการสมัครครั้งถัดไป
|
login_hint |
ไม่บังคับ หากแอปพลิเคชันทราบว่าผู้ใช้คนใดควรให้สิทธิ์คำขอ ก็สามารถใช้พร็อพเพอร์ตี้นี้เพื่อให้คำแนะนำการเข้าสู่ระบบแก่ Google เมื่อทำสำเร็จ ระบบจะข้ามการเลือกบัญชี ค่าในช่องอีเมลหรือรหัสโทเค็น sub ของผู้ใช้เป้าหมาย
โปรดดูข้อมูลเพิ่มเติมที่ช่อง login_hint ในเอกสารประกอบของ OpenID Connect
|
hd |
ไม่บังคับ หากแอปพลิเคชันรู้จักโดเมน Workspace ของผู้ใช้ ให้ใช้ข้อมูลนี้เพื่อให้คำแนะนำแก่ Google เมื่อทำสำเร็จ บัญชีผู้ใช้จะถูกจำกัดหรือเลือกไว้ล่วงหน้าสำหรับโดเมนที่ระบุ
โปรดดูข้อมูลเพิ่มเติมที่ช่อง hd ในเอกสารประกอบของ OpenID Connect
|
ux_mode |
ไม่บังคับ โหมด UX ที่ใช้สำหรับขั้นตอนการให้สิทธิ์ โดยค่าเริ่มต้น ระบบจะเปิดขั้นตอนการขอความยินยอมในป๊อปอัป ค่าที่ถูกต้องคือ popup และ redirect
|
select_account |
ไม่บังคับ ค่าเริ่มต้นคือ 'false' ค่าบูลีนที่แจ้งให้ผู้ใช้เลือกบัญชี |
error_callback |
ไม่บังคับ ฟังก์ชัน JavaScript ที่จัดการข้อผิดพลาดบางอย่างที่ไม่ใช่ OAuth เช่น
เปิดหน้าต่างป๊อปอัปไม่สำเร็จ หรือปิดก่อนการตอบกลับ OAuth
ส่งคืนแล้ว
ช่อง "ประเภท" ของพารามิเตอร์อินพุตให้เหตุผลอย่างละเอียด
|
ประเภทข้อมูล: CodeClient
ชั้นเรียนมีเมธอด requestCode สาธารณะอยู่เพียงวิธีเดียว ซึ่งจะเริ่มใช้ OAuth 2.0 โฟลว์ UX ของโค้ด
interface CodeClient {
requestCode(): void;
}
ประเภทข้อมูล: CodeResponse
ระบบจะส่งออบเจ็กต์ JavaScript CodeResponse
ไปยังเมธอด callback
ใน
UX ป๊อปอัป ใน UX การเปลี่ยนเส้นทาง ระบบจะส่ง CodeResponse
เป็น URL
พารามิเตอร์
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้ของประเภทข้อมูล CodeResponse
พร็อพเพอร์ตี้ | |
---|---|
code |
รหัสการให้สิทธิ์ของการตอบกลับโทเค็นที่สำเร็จ |
scope |
รายการขอบเขตที่คั่นด้วยช่องว่างซึ่งผู้ใช้อนุมัติ |
state |
ค่าสตริงที่แอปพลิเคชันใช้เพื่อรักษาสถานะระหว่างคำขอการให้สิทธิ์และการตอบกลับ |
error |
รหัสข้อผิดพลาด ASCII รายการเดียว |
error_description |
ข้อความ ASCII ที่มนุษย์อ่านได้ซึ่งให้ข้อมูลเพิ่มเติม ซึ่งใช้เพื่อช่วยให้นักพัฒนาซอฟต์แวร์ไคลเอ็นต์ในการทำความเข้าใจข้อผิดพลาดที่เกิดขึ้น |
error_uri |
URI ที่ระบุหน้าเว็บที่มนุษย์อ่านได้และมีข้อมูลเกี่ยวกับข้อผิดพลาด ซึ่งใช้เพื่อให้ข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดนั้นแก่นักพัฒนาซอฟต์แวร์ไคลเอ็นต์ |
เมธอด: google.accounts.oauth2.initTokenClient
เมธอด initTokenClient
จะเริ่มต้นและแสดงผลไคลเอ็นต์โทเค็นที่มีเมธอด
การกำหนดค่าในพารามิเตอร์
google.accounts.oauth2.initTokenClient(config: TokenClientConfig)
ประเภทข้อมูล: TokenClientConfig
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้ของประเภทข้อมูล TokenClientConfig
พร็อพเพอร์ตี้ | |
---|---|
client_id |
ต้องระบุ รหัสไคลเอ็นต์สำหรับแอปพลิเคชันของคุณ คุณดูค่านี้ได้ในคอนโซล API |
callback |
ต้องระบุ ฟังก์ชัน JavaScript ที่จัดการการตอบกลับของโทเค็นที่ส่งกลับ |
scope |
ต้องระบุ รายการขอบเขตที่คั่นด้วยช่องว่างซึ่งระบุทรัพยากรที่แอปพลิเคชันเข้าถึงได้ในนามของผู้ใช้ ค่าเหล่านี้จะบอกหน้าจอคำยินยอมที่ Google แสดงต่อผู้ใช้ |
include_granted_scopes |
ไม่บังคับ ค่าเริ่มต้นคือ true อนุญาตให้แอปพลิเคชันใช้ค่าเพิ่มเติม
การให้สิทธิ์ในการขอสิทธิ์เข้าถึงขอบเขตเพิ่มเติมในบริบท หากตั้งค่าไว้
ค่าของพารามิเตอร์นี้เป็น false และจะได้รับคำขอการให้สิทธิ์ จากนั้น
โทเค็นเพื่อการเข้าถึงใหม่จะครอบคลุมเฉพาะขอบเขตที่ scope ขอ
ในTokenClientConfig นี้
|
prompt |
ไม่บังคับ ค่าเริ่มต้นคือ 'select_account' การเว้นวรรคโดยคั่นด้วยช่องว่าง
รายการข้อความแจ้งที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เพื่อนำเสนอแก่ผู้ใช้ โดยค่าที่เป็นไปได้มีดังนี้
|
enable_granular_consent |
ไม่บังคับ ค่าเริ่มต้นคือ true หากตั้งค่าเป็น false สิทธิ์ในบัญชี Google ที่ละเอียดยิ่งขึ้น
จะถูกปิดใช้งานสำหรับรหัสไคลเอ็นต์ OAuth ที่สร้างก่อนปี 2019 หากมีการตั้งค่าทั้ง enable_granular_consent และ enable_serial_consent ไว้ จะมีเพียง enable_granular_consent
จะมีผลและระบบจะไม่สนใจค่า enable_serial_consent จะไม่มีผลกับรหัสไคลเอ็นต์ OAuth ที่ใหม่กว่า เนื่องจากระบบจะเปิดใช้สิทธิ์ที่ละเอียดยิ่งขึ้นสำหรับรหัสไคลเอ็นต์อยู่เสมอ |
enable_serial_consent |
เลิกใช้งานแล้ว คุณควรใช้ enable_granular_consent แทน ช่วงเวลานี้
ให้ผลเหมือนกับ enable_granular_consent แอปพลิเคชันที่มีอยู่
ที่ใช้ enable_serial_consent สามารถดำเนินการเช่นนั้นต่อไปได้ แต่คุณยังคง
ได้รับการสนับสนุนให้อัปเดตโค้ดของคุณเพื่อใช้ enable_granular_consent ใน
การอัปเดตการสมัครครั้งถัดไป
|
login_hint |
ไม่บังคับ หากแอปพลิเคชันทราบว่าผู้ใช้คนใดควรให้สิทธิ์คำขอ ก็สามารถใช้พร็อพเพอร์ตี้นี้เพื่อให้คำแนะนำการเข้าสู่ระบบแก่ Google เมื่อทำสำเร็จ ระบบจะข้ามการเลือกบัญชี ค่าในช่องอีเมลหรือรหัสโทเค็น sub ของผู้ใช้เป้าหมาย
โปรดดูข้อมูลเพิ่มเติมที่ช่อง login_hint ในเอกสารประกอบของ OpenID Connect
|
hd |
ไม่บังคับ หากแอปพลิเคชันรู้จักโดเมน Workspace ของผู้ใช้ ให้ใช้ข้อมูลนี้เพื่อให้คำแนะนำแก่ Google เมื่อทำสำเร็จ บัญชีผู้ใช้จะถูกจำกัดหรือเลือกไว้ล่วงหน้าสำหรับโดเมนที่ระบุ
โปรดดูข้อมูลเพิ่มเติมที่ช่อง hd ในเอกสารประกอบของ OpenID Connect
|
state |
ไม่บังคับ ไม่แนะนำ ระบุค่าสตริงที่แอปพลิเคชันใช้เพื่อรักษาสถานะระหว่างคำขอการให้สิทธิ์และการตอบกลับของเซิร์ฟเวอร์การให้สิทธิ์ |
error_callback |
ไม่บังคับ ฟังก์ชัน JavaScript ที่จัดการข้อผิดพลาดบางอย่างที่ไม่ใช่ OAuth เช่น
เปิดหน้าต่างป๊อปอัปไม่สำเร็จ หรือปิดก่อนการตอบกลับ OAuth
ส่งคืนแล้ว
ช่อง "ประเภท" ของพารามิเตอร์อินพุตให้เหตุผลอย่างละเอียด
|
ประเภทข้อมูล: TokenClient
ชั้นเรียนมีเมธอด requestAccessToken
แบบสาธารณะเพียงวิธีเดียว ซึ่งจะเริ่มต้น
ขั้นตอน UX ของโทเค็น OAuth 2.0
interface TokenClient {
requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
อาร์กิวเมนต์ | ||
---|---|---|
overrideConfig |
OverridableTokenClientConfig | ไม่บังคับ การกำหนดค่าที่จะถูกลบล้างในเมธอดนี้ |
ประเภทข้อมูล: OverridableTokenClientConfig
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้ของ OverridableTokenClientConfig
ประเภทข้อมูล
พร็อพเพอร์ตี้ | |
---|---|
scope |
ไม่บังคับ รายการขอบเขตที่คั่นด้วยช่องว่างซึ่งระบุทรัพยากร ที่แอปพลิเคชันของคุณสามารถเข้าถึงได้ในนามของผู้ใช้ ค่าเหล่านี้ แจ้งหน้าจอคำยินยอมที่ Google แสดงต่อผู้ใช้ |
include_granted_scopes |
ไม่บังคับ ค่าเริ่มต้นคือ true อนุญาตให้แอปพลิเคชันใช้ค่าเพิ่มเติม
การให้สิทธิ์ในการขอสิทธิ์เข้าถึงขอบเขตเพิ่มเติมในบริบท หากตั้งค่าไว้
ค่าของพารามิเตอร์นี้เป็น false และจะได้รับคำขอการให้สิทธิ์ จากนั้น
โทเค็นเพื่อการเข้าถึงใหม่จะครอบคลุมเฉพาะขอบเขตที่ scope ขอ
ในOverridableTokenClientConfig นี้
|
prompt |
ไม่บังคับ รายการพรอมต์ที่คั่นด้วยช่องว่างซึ่งคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เพื่อนำเสนอแก่ผู้ใช้ |
enable_granular_consent |
ไม่บังคับ ค่าเริ่มต้นคือ true หากตั้งค่าเป็น false สิทธิ์ในบัญชี Google ที่ละเอียดยิ่งขึ้น
จะถูกปิดใช้งานสำหรับรหัสไคลเอ็นต์ OAuth ที่สร้างก่อนปี 2019 หากตั้งค่าทั้ง enable_granular_consent และ enable_serial_consent ไว้เพียง enable_granular_consent
จะมีผลและระบบจะไม่สนใจค่า enable_serial_consent จะไม่มีผลกับรหัสไคลเอ็นต์ OAuth ที่ใหม่กว่า เนื่องจากระบบจะเปิดใช้สิทธิ์ที่ละเอียดยิ่งขึ้นสำหรับรหัสไคลเอ็นต์อยู่เสมอ |
enable_serial_consent |
เลิกใช้งานแล้ว คุณควรใช้ enable_granular_consent แทน ช่วงเวลานี้
ให้ผลเหมือนกับ enable_granular_consent แอปพลิเคชันที่มีอยู่
ที่ใช้ enable_serial_consent สามารถดำเนินการเช่นนั้นต่อไปได้ แต่คุณยังคง
ได้รับการสนับสนุนให้อัปเดตโค้ดของคุณเพื่อใช้ enable_granular_consent ใน
การอัปเดตการสมัครครั้งถัดไป
|
login_hint |
ไม่บังคับ หากแอปพลิเคชันทราบว่าผู้ใช้รายใดควรให้สิทธิ์คำขอ ก็จะใช้ข้อมูลพร็อพเพอร์ตี้นี้เพื่อให้คำแนะนำการเข้าสู่ระบบแก่ Google เมื่อทำสำเร็จ ระบบจะข้ามการเลือกบัญชี ค่าในช่องอีเมลหรือรหัสโทเค็น sub ของผู้ใช้เป้าหมาย
สำหรับข้อมูลเพิ่มเติม โปรดดูที่ช่อง login_hint ในเอกสารประกอบของ OpenID Connect
|
state |
ไม่บังคับ ไม่แนะนำ ระบุค่าสตริงที่แอปพลิเคชันใช้เพื่อรักษาสถานะระหว่างคำขอการให้สิทธิ์และการตอบกลับของเซิร์ฟเวอร์การให้สิทธิ์ |
ประเภทข้อมูล: TokenResponse
ระบบจะส่งออบเจ็กต์ JavaScript TokenResponse
ไปยังเมธอด Callback ของคุณใน
UX ป๊อปอัป
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้ของประเภทข้อมูล TokenResponse
พร็อพเพอร์ตี้ | |
---|---|
access_token |
โทเค็นเพื่อการเข้าถึงของการตอบกลับโทเค็นที่สำเร็จ |
expires_in |
อายุการใช้งานเป็นวินาทีของโทเค็นเพื่อการเข้าถึง |
hd |
โดเมนที่โฮสต์ซึ่งผู้ใช้ลงชื่อเข้าใช้อยู่ |
prompt |
ค่าของข้อความแจ้งที่ใช้จากรายการค่าที่เป็นไปได้ซึ่งกำหนดโดย TokenClientConfig หรือ OverridableTokenClientConfig |
token_type |
ประเภทของโทเค็นที่ออก |
scope |
รายการขอบเขตที่คั่นด้วยช่องว่างซึ่งผู้ใช้อนุมัติ |
state |
ค่าสตริงที่แอปพลิเคชันใช้เพื่อรักษาสถานะระหว่างคำขอการให้สิทธิ์และการตอบกลับ |
error |
รหัสข้อผิดพลาด ASCII รายการเดียว |
error_description |
ข้อความ ASCII ที่มนุษย์อ่านได้ซึ่งให้ข้อมูลเพิ่มเติม ซึ่งใช้เพื่อช่วยให้นักพัฒนาซอฟต์แวร์ไคลเอ็นต์ในการทำความเข้าใจข้อผิดพลาดที่เกิดขึ้น |
error_uri |
URI ที่ระบุหน้าเว็บที่มนุษย์อ่านได้และมีข้อมูลเกี่ยวกับข้อผิดพลาด ซึ่งใช้เพื่อให้ข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดนั้นแก่นักพัฒนาซอฟต์แวร์ไคลเอ็นต์ |
เมธอด: google.accounts.oauth2.hasGrantedAllScopes
ตรวจสอบว่าผู้ใช้ให้สิทธิ์ขอบเขตที่ระบุทั้งหมดหรือไม่
google.accounts.oauth2.hasGrantedAllScopes(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
อาร์กิวเมนต์ | ||
---|---|---|
tokenResponse |
TokenResponse
|
ต้องระบุ TokenResponse
ออบเจ็กต์
|
firstScope |
สตริง | ต้องระบุ ขอบเขตที่ต้องตรวจสอบ |
restScopes |
สตริง[] | ไม่บังคับ ขอบเขตอื่นๆ ที่ต้องตรวจสอบ |
การคืนสินค้า | |
---|---|
boolean | เป็นจริงหากให้สิทธิ์ขอบเขตทั้งหมดแล้ว |
เมธอด: google.accounts.oauth2.hasGrantedAnyScope
ตรวจสอบว่าผู้ใช้ให้สิทธิ์ในขอบเขตที่ระบุหรือไม่
google.accounts.oauth2.hasGrantedAnyScope(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
อาร์กิวเมนต์ | ||
---|---|---|
tokenResponse |
TokenResponse
|
ต้องระบุ TokenResponse
ออบเจ็กต์
|
firstScope |
สตริง | ต้องระบุ ขอบเขตที่ต้องตรวจสอบ |
restScopes |
สตริง[] | ไม่บังคับ ขอบเขตอื่นๆ ที่ต้องตรวจสอบ |
การคืนสินค้า | |
---|---|
boolean | เป็นจริงหากได้ให้สิทธิ์ขอบเขตใดก็ตามแล้ว |
เมธอด: google.accounts.oauth2.revoke
เมธอด revoke
จะเพิกถอนขอบเขตทั้งหมดที่ผู้ใช้ให้กับแอป
ต้องระบุโทเค็นเพื่อการเข้าถึงที่ถูกต้องเพื่อเพิกถอนสิทธิ์
google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
อาร์กิวเมนต์ | ||
---|---|---|
accessToken |
สตริง | ต้องระบุ โทเค็นเพื่อการเข้าถึงที่ถูกต้อง |
callback |
ฟังก์ชัน | ไม่บังคับ เครื่องจัดการ RevocationResponse |
ประเภทข้อมูล: RevocationResponse
ระบบจะส่งออบเจ็กต์ JavaScript RevocationResponse
ไปยังเมธอด Callback
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้ของประเภทข้อมูล RevocationResponse
พร็อพเพอร์ตี้ | |
---|---|
successful |
บูลีน true เมื่อสำเร็จ, false เมื่อล้มเหลว |
error |
สตริง ไม่ระบุความสำเร็จ รหัสข้อผิดพลาด ASCII รายการเดียว ซึ่งรวมถึงแต่ไม่จำกัดเพียง OAuth มาตรฐาน
รหัสข้อผิดพลาด 2.0 ข้อผิดพลาดที่พบบ่อยสำหรับเมธอด revoke :
|
error_description |
สตริง ไม่ระบุเมื่อสำเร็จ ข้อความ ASCII ที่มนุษย์อ่านได้ให้ข้อมูลเพิ่มเติมเกี่ยวกับ
พร็อพเพอร์ตี้ error นักพัฒนาแอปสามารถใช้ข้อมูลนี้เพื่อทำความเข้าใจ
ข้อผิดพลาดที่เกิดขึ้น สตริง error_description เป็นภาษาอังกฤษเท่านั้น
สำหรับข้อผิดพลาดที่พบบ่อยซึ่งระบุไว้ใน error ของ error_description ที่เกี่ยวข้อง
|