ShareAI Platform Docs

อนุญาตลูกค้าด้วย PKCE

ใช้กระบวนการ ShareAI authorization-code flow พร้อม S256 PKCE ตรวจสอบ state และแลกเปลี่ยนโค้ดบน backend ของแอปพลิเคชันของคุณ.

ดูในรูปแบบ Markdown
ในหน้านี้

กระบวนการนี้เชื่อมต่อบัญชีลูกค้าหนึ่งบัญชีกับแอปพลิเคชันของคุณ ลูกค้าลงชื่อเข้าใช้ เลือกบัญชีส่วนตัวหรือบัญชีองค์กร และอนุมัติสิทธิ์ที่ร้องขอ จากนั้น backend ของคุณจะแลกเปลี่ยนโค้ดที่มีอายุสั้นเป็นโทเค็น.

ก่อนเริ่มต้น#

เสร็จสมบูรณ์ การลงทะเบียนแอปพลิเคชัน. คุณต้องมี callback ที่ลงทะเบียนอย่างถูกต้อง ข้อมูลรับรองของไคลเอนต์ที่เก็บไว้ในเซิร์ฟเวอร์ และ session ฝั่งเซิร์ฟเวอร์สำหรับเบราว์เซอร์ที่ทำการอนุญาต.

1. สร้างคำขอการอนุญาต#

GET https://auth.shareai.now/oauth/authorize

ขอให้ลูกค้าอนุญาตแอปพลิเคชัน.

Base URL → URL พื้นฐาน
https://auth.shareai.now
การตรวจสอบสิทธิ์
การเปลี่ยนเส้นทางของเบราว์เซอร์; แอปพลิเคชันที่ลงทะเบียน

สร้าง verifier, state และ nonce ใหม่สำหรับแต่ละครั้ง เก็บไว้ใน session ฝั่งเซิร์ฟเวอร์ของผู้ใช้ที่เริ่มต้น ส่ง SHA-256 challenge แต่ไม่ใช่ verifier ในการเปลี่ยนเส้นทางของเบราว์เซอร์ ขอเฉพาะ scopes ที่แอปพลิเคชันของคุณต้องการ.

Python

import base64
import hashlib
import secrets
import urllib.parse

verifier = secrets.token_urlsafe(48)
challenge = base64.urlsafe_b64encode(hashlib.sha256(verifier.encode()).digest()).rstrip(b"=").decode()
state = secrets.token_urlsafe(32)
nonce = secrets.token_urlsafe(32)
# Store verifier, state and nonce in the user's server-side session.
params = {
    "response_type": "code",
    "client_id": "YOUR_CLIENT_ID",
    "redirect_uri": "https://app.example.com/auth/shareai/callback",
    "scope": "openid profile surcharge",
    "state": state,
    "nonce": nonce,
    "code_challenge": challenge,
    "code_challenge_method": "S256",
}
print("https://auth.shareai.now/oauth/authorize?" + urllib.parse.urlencode(params))

2. ตรวจสอบ callback#

หากการอนุญาตถูกปฏิเสธ ให้จัดการข้อผิดพลาด OAuth เป็นการยกเลิกตามปกติ มิฉะนั้นเปรียบเทียบค่าที่ส่งกลับ state กับค่าที่บันทึกไว้ก่อนใช้โค้ด ปฏิเสธ state ที่หายไปหรือไม่ตรงกัน ใช้ state ที่บันทึกไว้เพียงครั้งเดียว; อย่ายอมรับ callback URLs ที่ส่งโดย session เบราว์เซอร์อื่น.

3. แลกเปลี่ยนโค้ด#

POST https://auth.shareai.now/oauth/token

แลกเปลี่ยนโค้ดที่ใช้ครั้งเดียวและ verifier PKCE ที่ตรงกัน.

Base URL → URL พื้นฐาน
https://auth.shareai.now
การตรวจสอบสิทธิ์
การตรวจสอบสิทธิ์ไคลเอนต์ที่เป็นความลับ

cURL

curl --fail-with-body "https://auth.shareai.now/oauth/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "grant_type=authorization_code" \
  --data-urlencode "client_id=$SHAREAI_CLIENT_ID" \
  --data-urlencode "client_secret=$SHAREAI_CLIENT_SECRET" \
  --data-urlencode "code=$AUTHORIZATION_CODE" \
  --data-urlencode "redirect_uri=https://app.example.com/auth/shareai/callback" \
  --data-urlencode "code_verifier=$PKCE_VERIFIER"

ใช้วิธีการตรวจสอบสิทธิ์ไคลเอนต์ที่กำหนดค่าสำหรับไคลเอนต์ ตัวอย่างใช้การตรวจสอบสิทธิ์ไคลเอนต์แบบฟอร์ม อย่าส่งโค้ดเดียวกันสองครั้ง; เริ่มการอนุญาตใหม่หลังจากโค้ดถูกใช้หรือหมดอายุ.

4. เก็บผลลัพธ์และสร้าง session ของแอปพลิเคชันของคุณ#

เก็บโทเค็นการเข้าถึงและรีเฟรชใน backend ของคุณ ใช้ค่าที่ส่งกลับ expires_in แทนที่จะสมมติว่าเป็นโทเค็นถาวร หากคุณใช้ ID token ให้ตรวจสอบลายเซ็นด้วย JWKS ของ issuer, issuer ที่คาดหวัง, audience ของไคลเอนต์, วันหมดอายุ และ nonce ดั้งเดิมของคุณก่อนเชื่อถือ claims.

ดำเนินการต่อในวงจรชีวิต#

การรีเฟรชและการหมุนเวียน · Scopes และตัวตนบัญชี · คำขอแชท OAuth

อัปเดตล่าสุด กันยายน 15, 2026

เอกสารแพลตฟอร์ม ShareAI
เอกสารทั้งหมด

ค้นหาตามชื่อหรือเนื้อหา.

สอบถามเกี่ยวกับหน้านี้

เลือกผู้ช่วยเพื่อสำรวจหน้านี้ คุณยังสามารถคัดลอกหน้าและวางลงในบทสนทนาของคุณได้.

Ask ChatGPTAsk ClaudeAsk GrokAsk ShareAI