authentication-endpoint
< back to +main 
tags: #login

Authentication


Registration
สามารถจัดการ account registration ได้
POST https://api.traffy.xyz/api-auth/registration/
ใส่ข้อมูลเป็น
{"username": "x", "password1": "", "password2": "", "email": "x@foo.bar" }
สิ่งที่ได้ return ถ้าข้อมูลถูกต้อง ก็จะได้ key กลับมา ซึ่งเป็น key ที่ใช้ในการยืนยัน email เพียงแค่ว่า ณ ขณะนี้ ยังไม่มีการส่ง email จึงไม่ต้องสนใจมัน และสามารถนำ username และ password มาใช้ได้ทันที

traffy-api มีทั้งระบบ authentication ของตัวเองและ authenticate ผ่าน social network (แค่ facebook ตอนนี้ -- ถ้าต้องการเพิ่มก็แจ้งความต้องการมา)

traffy-api own authentication

ก็ใช้ username, password ตามปกติ สิ่งที่ได้มาก็เป็น JWT token ที่จะต้องเอาไปใส่ใน header สำหรับทุกๆ request ซึ่งแนะนำให้ใช้ https://api.traffy.xyz เสมอเพื่อความปลอดภัยของข้อมูล นั่นก็คือ ข้อมูลของตัวเองนั่นแหละ
POST https://api.traffy.xyz/api-token-auth/
body ก็จะเป็น
{"username": "x", "password": ""}

facebook authentication

อันนี้ก็แทนที่จะใช้ username, password ของระบบเองก็ใช้ facebook เป็นตัวยืนยันตน สิ่งที่ต้องทำก็คือ แสดงความเป็นตัวตนของตัวเองโดยการ login ผ่าน facebook SDK ด้วย
  • app_id = 607167652661162
  • Traffy API
แล้วก็เอา access_token ที่ได้จาก Facebook มาขอ JWT token ของ traffy-api ผ่านทาง
POST https://api.traffy.xyz/api-token-social-auth/facebook/
ด้วย body
{"access_token": "ยาวๆๆๆๆ"}
แล้วก็จะได้ response เป็น
{
  "username": "sipp11",
  "token": "exxxxxxxx*********E",
  "id": 1,
  "success": true
}

Authorization

ตอนนี้มีแต่สำหรับ kaya app โดยจะกำหนดเพื่อเปลี่ยนแปลงค่าสิทธิในการเปลี่ยนแปลง group ของ user
PATCH /private/user/<user_id>/ -d '{"groups": [{"name": "admin"}, {"name": "patong"}]}'
ถ้าจะลบก็
PATCH /private/user/<user_id>/ -d '{"groups": []}'