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 ที่ลงทะเบียนไว้ใน Platform

password :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