IM
TH
หน้าเอกสาร
เมนู
คู่มือ

Bootstrap รับรองความถูกต้องและโทเค็น

รับโทเค็นผู้ถือและตรวจสอบพฤติกรรมจุดสิ้นสุดการรับรองความถูกต้องก่อนเรียกใช้ Inbox Manager API

inbox-manager client-flow

การรับรองความถูกต้องและโทเค็น Bootstrap

วัตถุประสงค์: รับโทเค็นผู้ถือและตรวจสอบพฤติกรรมจุดสิ้นสุดการรับรองความถูกต้องก่อนเรียกใช้ Inbox Manager API

หมายเหตุขอบเขต:

  • โฟลว์นี้เรียกจุดสิ้นสุด auth.inbox-manager.com
  • เส้นทางเหล่านั้นไม่ได้เป็นส่วนหนึ่งของ api.inbox-manager.com OpenAPI

โฟลว์ UI

  1. ผู้ใช้เปิดแบบฟอร์มลงทะเบียนหรือลงชื่อเข้าใช้
  2. UI ส่งข้อมูลประจำตัวไปที่ https://auth.inbox-manager.com/auth/sign-up หรือ /auth/sign-in
  3. ร้านค้า UI ส่งคืนโทเค็นการเข้าถึงและบริบทบัญชี
  4. UI ขอโทเค็นขอบเขตบัญชีผ่าน POST /api/accounts/:account_id/token เมื่อจำเป็น
  5. UI ใช้โทเค็นที่ส่งคืนเป็น Authorization: Bearer <token> สำหรับ api.inbox-manager.com

โฟลว์ไลบรารีไคลเอนต์

const auth = new AuthClient({ baseUrl: "https://auth.inbox-manager.com" });
const session = await auth.signIn({
  email,
  password,
  clientId: "cid_inbox_manager",
});
const accountToken = await auth.issueAccountToken({
  accountId: session.profile.active_membership.account_id,
  bearerToken: session.tokens.access_token,
  audience: "https://api.inbox-manager.com",
});
const api = new InboxManagerClient({
  baseUrl: "https://api.inbox-manager.com",
  bearerToken: accountToken.access_token,
});

HTTP/ขดไหล

AUTH_BASE_URL="https://auth.inbox-manager.com"
ORIGIN="https://app.inbox-manager.com"
CLIENT_ID="cid_inbox_manager"

curl -sS "${AUTH_BASE_URL}/.well-known/jwks.json"

curl -sS -X POST "${AUTH_BASE_URL}/auth/sign-in" \
  -H "origin: ${ORIGIN}" \
  -H "content-type: application/json" \
  --data "{\"client_id\":\"${CLIENT_ID}\",\"email\":\"${EMAIL}\",\"password\":\"${PASSWORD}\",\"csrf_token\":\"${CSRF_TOKEN}\"}"

curl -sS -X POST "${AUTH_BASE_URL}/api/accounts/${ACCOUNT_ID}/token" \
  -H "authorization: Bearer ${ACCESS_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"audience":"https://api.inbox-manager.com"}'

สคริปต์การตรวจสอบ

  • scripts/auth_probe.sh
  • scripts/auth_bootstrap_accounts.sh