Authentication¶
User Authentication¶
สำหรับ User จะใช้การยืนยันตัวตนผ่านมาตรฐาน OAuth2.0 (Open Authentication) และ JWT (JSON Web Token) โดยให้บริการเป็นแบบ REST API อยู่ที่ Domain : https://auth.nexiiot.io รายละเอียดการใช้งานมีดังนี้
1. การ Login หรือทำการขอ Access Token ด้วย Username และ Password
- EndPoint:
https://auth.nexiiot.io/oauth/token
- Method:
POST
- Request Header:
Content-type : application/form-data
Authorization : Basic Application Client ID
- Parameter:
grant_type
:string ระบุเป็น "password" (เป็นค่าตามมาตรฐานของ OAuth)username
:string คือ Account หรือ Email ที่ลงทะเบียนไว้ใน Platformpassword
:string คือ Password ที่ลงทะเบียนไว้ใน Platform- Return:
UserToken
:object (หรือ Error Message)access_token => JWT ที่จะนำไปใช้แสดงตัวตนเมื่อจะใช้งาน Services อื่น ๆ ภายใน Platform
token_type => ประเภทของ Token (ค่า Default คือ Bearer)
expires_in => วันเวลาที่ Access Token จะหมดอายุ (Timestamp)
refresh_token => รหัสที่ใช้ในการขอ Access Token ใหม่กรณีที่หมดอายุ
scope => สิทธิ์การใช้งาน (Authorization)
userinfo => ข้อมูล User (Object)
2. การ Re-new Token เมื่อ Access Token กำลังจะหมดอายุ
- EndPoint:
https://auth.nexiiot.io/oauth/token
- Method:
POST
- Request Header:
Content-type : application/form-data
Authorization : Basic Application Client ID
- Parameter:
grant_type
:string ระบุเป็น "refresh_token" (เป็นค่าตามมาตรฐานของ OAuth)refresh_token
:string คือ รหัสที่ใช้ในการขอ Access Token ใหม่กรณีที่หมดอายุuserid
:string คือ User ID- Return:
NewToken
:object (หรือ Error Message)access_token => JWT ที่จะนำไปใช้แสดงตัวตนเมื่อจะใช้งาน Services อื่น ๆ ภายใน Platform
token_type => ประเภทของ Token (ค่า Default คือ Bearer)
expires_in => วันเวลาที่ Access Token จะหมดอายุ (Timestamp)
refresh_token => รหัสที่ใช้ในการขอ Access Token ใหม่กรณีที่หมดอายุ
3. การ Logout หรือยกเลิกการใช้งาน Access Token และ Refresh Token
- EndPoint:
https://auth.nexiiot.io/user/logout
- Method:
POST
- Parameter:
refresh_token
:string คือ รหัสที่ใช้ในการขอ Access Token ใหม่กรณีที่หมดอายุ- Return:
NewToken
:object (หรือ Error Message)status => Response Code
error => ข้อความแจ้งความผิดพลาด(ถ้าดำเนินการไม่สำเร็จ)
result => ข้อมูล User Token ที่ยกเลิกการใช้งานได้สำเร็จ
Device Authentication¶
สำหรับ Device จะใช้การยืนยันตัวตนโดยใช้ Device ID (Unique ID) และ Token โดยเข้าไปที่ https://portal.nexiiot.io เพื่อเข้าไปสร้างข้อมูล Device ที่จะต้องใช้ในการเชื่อมต่อ Platform ดูรายเอียดได้ที่ การนำ Key ไปใช้กับ Device เพื่อเชื่อมต่อ Platform