🔑Elice การพัฒนาการเชื่อมต่อการเข้าสู่ระบบไกด์

เอกสารนี้อธิบายขั้นตอนในการเชื่อมต่อเข้าสู่ระบบ Elice โดยใช้ OAuth เป็นพื้นฐาน

1. การลงทะเบียนแอปพลิเคชัน

ก่อนที่จะเชื่อมต่อการเข้าสู่ระบบ Elice คุณต้องทำการลงทะเบียนชื่อแอปพลิเคชันและ Redirect URI ก่อน กรุณาส่งข้อมูลดังต่อไปนี้ไปที่ backend@elicer.com เราจะทำการลงทะเบียนให้และแจ้งข้อมูลกลับมาให้คุณ

  • ชื่อแอปพลิเคชัน

  • Redirect URI (สูงสุด 5 รายการ, จำเป็นต้องใช้ https)

    • ป้อน URL ของหน้าที่คุณต้องการให้แสดงผลหลังจากเข้าสู่ระบบสำเร็จ (ตัวอย่าง: https://my-site.com/elice/ouath/okay)

หลังจากการลงทะเบียนเสร็จสิ้นภายในระบบ คุณจะได้รับข้อมูลต่อไปนี้

  • client_id

  • client_secret

  • ELICE_WEB_URL (สำหรับการพัฒนา)

  • ELICE_SERVER_URL (สำหรับการพัฒนา)

  • ELICE_WEB_URL (สำหรับการดำเนินงาน)

  • ELICE_SERVER_URL (สำหรับการดำเนินงาน)

2. สร้าง URL สำหรับเชื่อมต่อการเข้าสู่ระบบ Elice

นี่คือวิธีการเรียกใช้ API เพื่อเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ Elice เมื่อคุณคลิกที่ปุ่มเชื่อมต่อการเข้าสู่ระบบ Elice

เมื่อใช้พารามิเตอร์ดังต่อไปนี้เพื่อเรียกใช้ API ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ Elice

หากผู้ใช้เข้าสู่ระบบสำเร็จผลลัพธ์ทั้งหมดจะถูกส่งกลับผ่าน Redirect URI

ข้อมูล URL ของการเรียกใช้

เมทอดURL ที่เรียกใช้รูปแบบการตอบกลับคำอธิบาย

GET

https://{ELICE_WEB_URL}/oauth/authorize

เปลี่ยนเส้นทางไปยัง URL

ขอเข้ารหัสการเข้าสู่ระบบ Elice

ข้อมูลพารามิเตอร์การเรียกใช้

ชื่อพารามิเตอร์ชนิดจำเป็นหรือไม่ค่าเริ่มต้นคำอธิบาย

client_id

string

Y

-

ค่า Client ID ที่ได้รับเมื่อลงทะเบียนแอปพลิเคชัน

redirect_uri

string

Y

-

หนึ่งในค่า Redirect URI ที่ป้อนขณะลงทะเบียนแอปพลิเคชัน (ต้องใช้การเข้ารหัส URL)

state

string

Y

-

สร้างสตริงสุ่มเพื่อความปลอดภัย

scope

string

Y

อ่าน

รายการของสิทธิ์ที่คั่นด้วยเครื่องหมายจุลภาค

lang

string

Y

ko

ค่าที่ใช้ในการแยกสิ่งที่ใช้ในภาษา

ตัวอย่างของข้อความที่เรียกใช้

curl -X GET "https://{ELICE_WEB_URL}/oauth/authorize?client_id=myclientid&redirect_uri=redirect_uri=https%3A%2F%2Fmy-site.com%2Felice%2Fouath%2Fokay&state=om22bsq0jz&scope=read&lang=ko"

ตัวอย่างของข้อความตอบกลับ

HTTP/1.1 302 Found
Location: https://my-site.com/elice/ouath/okay?code=okaycode12345&state=om22bsq0jz

3. การขอออก Access Token

เมื่อเปลี่ยนเส้นทางไปยัง Redirect URI รหัสการตรวจสอบ (code) ที่รับผ่าน query string จะถูกใช้ในการขอรับ Access Token

รหัสการตรวจสอบเป็นรหัสใช้ครั้งเดียวและไม่สามารถใช้ซ้ำได้หลังจากใช้ในการขอรับ Access Token

Access Token จะใช้ในการเรียกใช้ Elice REST API เช่น API ข้อมูลผู้ใช้งานในอนาคต

API นี้ควรถูกเรียกใช้โดยเซิร์ฟเวอร์ไม่ใช่บนเบราว์เซอร์ของผู้ใช้

ข้อมูล URL การเรียกใช้

เมทอดURL การเรียกใช้รูปแบบการตอบกลับคำอธิบาย

POST

https://{ELICE_SERVER_URL}/oauth/token

json

การขอออก Access Token

ข้อมูลพารามิเตอร์การเรียกใช้

ชื่อพารามิเตอร์ชนิดจำเป็นหรือไม่ค่าเริ่มต้นคำอธิบาย

client_id

string

Y

-

ค่า Client ID ที่ได้รับเมื่อลงทะเบียนแอปพลิเคชัน

client_secret

string

Y

-

ค่า Client Secret ที่ได้รับเมื่อลงทะเบียนแอปพลิเคชัน

code

string

Y

-

ค่ารหัสการตรวจสอบที่ได้รับผ่าน Redirect URI

ตัวอย่างของข้อความที่เรียกใช้

curl -X POST "https://{ELICE_SERVER_URL}/oauth/token" \
    -H "Content-Type: application/json" \
    -d '{"client_id":"myclientid","client_secret":"myclientsecret","code": "okaycode12345"}'

ข้อมูลการตอบกลับ

ฟิลด์ชนิดคำอธิบาย

access_token

string

Access Token (หมดอายุหลังจากขอรับเป็นเวลา 1 ชั่วโมง)

ตัวอย่างของข้อความตอบกลับ

HTTP/1.1 200 OK
Content-Type: application/json

{
"access_token": "your_access_token"
}

4. เรียกใช้ API ของข้อมูลผู้ใช้งานด้วย Access Token

คุณสามารถเรียกใช้ API การร้องขอข้อมูลผู้ใช้งานได้โดยใช้ Access Token

ข้อมูล URL เรียกใช้

เมทอดการรับรองURL การเรียกใช้รูปแบบการตอบกลับคำอธิบาย

GET

OAuth2.0

https://{ELICE_SERVER_URL}/oauth/account

JSON

การร้องขอข้อมูลผู้ใช้งาน

ข้อมูลพารามิเตอร์การเรียกใช้

ไม่มีพารามิเตอร์เพิ่มเติม ในขณะที่คุณเรียกใช้ URL ของการร้องขอโปรดส่งค่า Access Token ในส่วนของหัวข้อการร้องขอ

ส่วนหัวการร้องขอ

ชื่อส่วนหัวการร้องขอคำอธิบาย

Authorization

ค่าที่อยู่ในรูปแบบต่อไปนี้: Bearer {Access Token}

ตัวอย่างข้อความที่เรียกใช้

curl -X GET "https://{ELICE_SERVER_URL}/oauth/account" \
    -H "Authorization: Bearer your_access_token"

ข้อมูลการตอบกลับ

ฟิลด์ชนิดจำเป็นหรือไม่คำอธิบาย

id

String

Y

ข้อมูลการระบุบุคคลเดียวกัน

fullname

String

Y

ชื่อผู้ใช้

email

String

Y

ที่อยู่อีเมลของผู้ใช้

phone

String

Y

หมายเลขโทรศัพท์มือถือของผู้ใช้

profile_url

String

Y

URL รูปโปรไฟล์ของผู้ใช้

locale

String

Y

ข้อมูลภูมิภาคของผู้ใช้

ตัวอย่างข้อความตอบกลับ

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 12345,
  "fullname": "John Doe",
  "email": "john.doe@example.com",
  "phone": "010-1234-5678",
  "profile_url": "https://example.com/profile/johndoe",
  "locale": "ko"
}

Last updated