เรียกหน้าเข้าสู่ระบบ
การเข้าสู่ระบบผ่านเว็บเป็นฟีเจอร์ที่อนุญาตให้ผู้ใช้เข้าสู่ระบบไปยัง IdP ผ่านหน้าเว็บ
การเรียกหน้าล็อกอิน เป็น API ที่ส่งคืนรหัสการตรวจสอบสิทธิชั่วคราว (state) พร้อมกับที่อยู่ URL ของการล็อกอินบนเว็บ Hive ที่ผู้ใช้สามารถเข้าสู่ระบบไปยัง IdP ได้
หลังจากที่ขอ API หน้าเข้าสู่ระบบ เมื่อผู้ใช้ทำการเข้าสู่ระบบบนหน้าเข้าสู่ระบบที่เรียกแล้ว รหัสการตรวจสอบสิทธิชั่วคราว (state) จะถูกส่งกลับผ่าน URI การเปลี่ยนเส้นทางที่ให้ไว้ในระหว่างการขอ รหัสการตรวจสอบสิทธิชั่วคราว (state) เป็นพารามิเตอร์ที่จำเป็นต้องให้เมื่อทำการขอ การตรวจสอบการเข้าสู่ระบบและการดึงข้อมูลผู้ใช้ API
URL การร้องขอ¶
| สภาพแวดล้อม | URL |
|---|---|
| การผลิต | https://weblogin.withhive.com/login?param= |
| Sandbox | https://sandbox-weblogin.withhive.com/login?param= |
| HTTP Method | GET |
| Content-Type | text/html |
พารามิเตอร์การสอบถามคำขอ¶
| ชื่อฟิลด์ | ประเภท | คำอธิบาย | จำเป็น |
|---|---|---|---|
| param | String | สตริงที่สร้างขึ้นโดยการเข้ารหัส URL และการเข้ารหัส BASE64 ของวัตถุ JSON ด้านล่าง | Y |
โครงสร้าง JSON ของพารามิเตอร์การร้องขอ (param)¶
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| appid | String | รหัสแอป |
| url | String | ที่อยู่ URI ที่จะเปลี่ยนเส้นทางหลังจากที่เข้าสู่ระบบเสร็จสิ้น ต้องตรงกับ Redirect URI ที่ลงทะเบียนในคอนโซล Hive การรับรองความถูกต้อง > การตั้งค่าการรับรองความถูกต้อง > การตั้งค่าการเข้าสู่ระบบ หากไม่ตรง จะมีการแสดงหน้าแสดงข้อผิดพลาด 2012 |
| client_id | String | รหัสลูกค้า OAuth 2.0 ที่สร้างขึ้นในตั้งค่ากุญแจความปลอดภัย คุณสามารถตรวจสอบได้ในคอนโซล Hive App Center > การตั้งค่ากุญแจความปลอดภัย |
| response_type | String | วิธีการอนุญาต OAuth 2.0 ค่าเริ่มต้น: code |
| country | String | รหัสประเทศที่ตั้งค่าในเกมหรือชุมชน (ใช้ค่าเริ่มต้นของเบราว์เซอร์หากไม่ได้ระบุ) |
| language | String | รหัสภาษาที่ตั้งค่าในเกมหรือชุมชน (ใช้ค่าเริ่มต้นของเบราว์เซอร์หากไม่ได้ระบุ) |
ตัวอย่างพารามิเตอร์การค้นหาคำขอ JSON (param)¶
พารามิเตอร์การร้องขอ JSON (param) ประกอบด้วยวัตถุ JSON ตามที่แสดงด้านล่าง
{
"appid": "com.com2us.hivesdk.ios.community.global.normal",
"url": "https://community.withhive.com/hivesdk/login/redirect",
"client_id": "58b48cd3-df47-5b52-2627-3f9c8d01",
"response_type": "code",
"country": "KR",
"language": "ko"
}
วัตถุ JSON นี้ถูกแปลงเป็นสตริงในลำดับต่อไปนี้ระหว่างการเรียก API และใช้เป็นพารามิเตอร์การค้นหา param.
- การเข้ารหัส URL
- การเข้ารหัส BASE64
# 인코딩된 param을 붙여 호출하는 URL 예시
https://weblogin.withhive.com/login?param=JTdCJTIyYXBwaWQlMjIlM0ElMjJjb20uY29tMnVzLmhpdmVzZGsuaW9zLmNvbW11bml0eS5nbG9iYWwubm9ybWFsJTIyJTJDJTIydXJsJTIyJTNBJTIyaHR0cHMlM0ElMkYlMkZjb21tdW5pdHkud2l0aGhpdmUuY29tJTJGaGl2ZXNkayUyRmxvZ2luJTJGcmVkaXJlY3QlMjIlMkMlMjJjbGllbnRfaWQlMjIlM0ElMjI1OGI0OGNkMy1kZjQ3LTViNTItMjYyNy0zZjljOGQwMSUyMiUyQyUyMnJlc3BvbnNlX3R5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyY291bnRyeSUyMiUzQSUyMktSJTIyJTJDJTIybGFuZ3VhZ2UlMjIlM0ElMjJrbyUyMiU3RA==
พฤติกรรมการตอบกลับ¶
- ผลลัพธ์ของการตอบสนองเป็น HTTP 302 Redirect.
- เบราว์เซอร์จะถูกเปลี่ยนเส้นทางไปยัง URI ที่ตั้งค่าในส่วนหัว
Locationและพารามิเตอร์การค้นหาresจะถูกเพิ่มไปยัง URI นั้น. resเป็นสตริง JSON ที่เข้ารหัส URL และเข้ารหัส BASE64.
ตัวอย่าง URI ตำแหน่งที่เปลี่ยนเส้นทาง¶
# https://community.withhive.com/hivesdk/login/redirect를 리다이렉트 URI로 설정한 경우
https://community.withhive.com/hivesdk/login/redirect?res=JTdCJTIyY29kZSUyMiUzQSUyMjEwMCUyMiUyQyUyMnN0YXRlJTIyJTNBJTIyMTY4ODEwODkyNzk0Mi1CUHVxcHFFaUd6S0lIJTIyJTdE
พารามิเตอร์การสอบถามการตอบสนอง (res)¶
res คือค่าที่ถูกแปลงเป็น String หลังจากการเข้ารหัส URL และการเข้ารหัส BASE64 ซึ่งประกอบด้วยวัตถุ JSON ที่มีค่าคีย์ดังแสดงด้านล่าง
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| รหัส | สตริง | รหัสตอบกลับการเข้าสู่ระบบเว็บ หากไม่สำเร็จ จะถูกเปลี่ยนเส้นทางไปยังหน้าข้อผิดพลาดการเข้าสู่ระบบเว็บที่มีรหัสข้อผิดพลาด. |
| สถานะ | สตริง | รหัสการอนุญาตชั่วคราว (authorization_code) ที่จะใช้เมื่อขอการออกโทเค็น. |
พารามิเตอร์การตอบสนองของคำถาม รหัสการตอบสนอง¶
| รหัส | คำอธิบาย | หมายเหตุ |
|---|---|---|
| 100 | สำเร็จ | |
| 1050 | พารามิเตอร์ไม่ถูกต้อง | |
| 1051 | ข้อผิดพลาดในการถอดรหัส URL | |
| 1052 | ข้อผิดพลาดในการถอดรหัส BASE64 | |
| 1053 | ค่าพารามิเตอร์ไม่ถูกต้อง | ค่าของ ?param= |
| 2005 | ค่าคำขอผิดปกติ | |
| 2011 | ไม่มีข้อมูลโครงการ | |
| 2012 | URI การเปลี่ยนเส้นทางไม่ตรงกัน | ต้องตรงกับ Redirect URI ที่ลงทะเบียนใน Hive console การรับรองความถูกต้อง > การตั้งค่าการรับรองความถูกต้อง > การตั้งค่าการเข้าสู่ระบบ. |
| 2013 | โครงการอยู่ในสถานะที่ถูกยกเลิก | |
| 2016 | ไม่มีข้อมูล ID แอป | |
| 2018 | ไม่มีข้อมูลบริษัท | |
| 2020 | การออกโค้ดการรับรองความถูกต้องชั่วคราว (state) ล้มเหลว | |
| 2022 | การจัดเก็บโค้ดการรับรองความถูกต้องชั่วคราว (state) ล้มเหลว | |
| 7000 | ไม่สามารถสร้างคีย์ความปลอดภัย OAuth2.0 | ตรวจสอบใน Hive console App Center > การตั้งค่าคีย์ความปลอดภัย. |
| 7003 | ไม่มีข้อมูลลูกค้า OAuth2.0 | 〃 |
ตัวอย่างพารามิเตอร์การสอบถามการตอบกลับ (res)¶
ในการใช้ res เป็นวัตถุ JSON อีกครั้ง คุณต้องทำการถอดรหัส BASE64 และถอดรหัส URL ในลำดับย้อนกลับ ตัวอย่างของวัตถุ JSON แสดงด้านล่าง