ดาวน์โหลด • เอกสารประกอบ • ชุมชน
./daptin
.
. // logs truncated for brevity
.
INFO[2024-10-16 11:08:58] Listening websocket server at ... /live
INFO[2024-10-16 11:08:58] Our admin is [[email protected]]
INFO[2024-10-16 11:08:58] [ProcessId = 86403] Listening at port: :6336
INFO[2024-10-16 11:08:58] Get certificate for [Parths-MacBook-Pro.local]: true
INFO[2024-10-16 11:08:58] Listening at: [:6336]
INFO[2024-10-16 11:08:58] TLS server listening on port :6443
INFO[2024-10-16 11:09:03] Member says: Message < members: Joining from 192.168.0.125: 5336>
เซิร์ฟเวอร์ทำงานแล้ว มีการใช้ฐานข้อมูล sqlite เนื่องจากเราไม่ได้ระบุ mysql หรือ postgres
เรียก API การลงทะเบียน "การกระทำ" เพื่อสร้าง user_account ใหม่
curl ' http://localhost:6333/action/user_account/signup ' -X POST
--data-raw ' {"attributes":{"email":"[email protected]","password":"[email protected]","name":"[email protected]","passwordConfirm":"[email protected]"}} '
ในอินสแตนซ์ใหม่ การกระทำทั้งหมดได้รับอนุญาตให้ดำเนินการโดยแขก ดังนั้นคุณไม่ควรเห็นสิ่งนี้
[
{
"Attributes" : {
"message" : " http error (403) forbidden and 0 more errors, forbidden " ,
"title" : " failed " ,
"type" : " error "
},
"ResponseType" : " client.notify "
}
]
คุณควรเห็นสิ่งนี้
[
{
"ResponseType" : " client.notify " ,
"Attributes" : {
"__type" : " client.notify " ,
"message" : " Sign-up successful. Redirecting to sign in " ,
"title" : " Success " ,
"type" : " success "
}
},
{
"ResponseType" : " client.redirect " ,
"Attributes" : {
"__type" : " client.redirect " ,
"delay" : 2000 ,
"location" : " /auth/signin " ,
"window" : " self "
}
}
]
curl ' http://localhost:6336/action/user_account/signin '
--data-raw ' {"attributes":{"email":"[email protected]","password":"[email protected]"}} '
[
{
" Attributes " : {
" key " : " token " ,
" value " : " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFydHBhckBnbWFpbC5jb20iLCJleHAiOjE3MjkzMjExMjIsImlhdCI6MTcyOTA2MTkyMiwiaXNzIjoiZGFwdGluLTAxOTIyOCIsImp0aSI6IjAxOTI5NDFmLTI2MGUtN2I0Ni1hMWFlLWYxMGZhZTcwMDE3OSIsIm5hbWUiOiJhcnRwYXJAZ21haWwuY29tIiwibmJmIjoxNzI5MDYxOTIyLCJzdWIiOiIwMTkyMmUxYS1kNWVhLTcxYzktYmQzZS02MTZkMjM3ODBmOTMifQ.H-GLmXCT-o7RxXrjo5Of0K8Nw5mpOOw6jgoXnd5KUxo "
},
" ResponseType " : " client.store.set "
},
{
" Attributes " : {
" key " : " token " ,
" value " : " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFydHBhckBnbWFpbC5jb20iLCJleHAiOjE3MjkzMjExMjIsImlhdCI6MTcyOTA2MTkyMiwiaXNzIjoiZGFwdGluLTAxOTIyOCIsImp0aSI6IjAxOTI5NDFmLTI2MGUtN2I0Ni1hMWFlLWYxMGZhZTcwMDE3OSIsIm5hbWUiOiJhcnRwYXJAZ21haWwuY29tIiwibmJmIjoxNzI5MDYxOTIyLCJzdWIiOiIwMTkyMmUxYS1kNWVhLTcxYzktYmQzZS02MTZkMjM3ODBmOTMifQ.H-GLmXCT-o7RxXrjo5Of0K8Nw5mpOOw6jgoXnd5KUxo; SameSite=Strict "
},
" ResponseType " : " client.cookie.set "
},
{
" Attributes " : {
" message " : " Logged in " ,
" title " : " Success " ,
" type " : " success "
},
" ResponseType " : " client.notify "
},
{
" Attributes " : {
" delay " : 2000,
" location " : " / " ,
" window " : " self "
},
" ResponseType " : " client.redirect "
}
]
เราจะใช้
export TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFydHBhckBnbWFpbC5jb20iLCJleHAiOjE3MjkzMjExMjIsImlhdCI6MTcyOTA2MTkyMiwiaXNzIjoiZGFwdGluLTAxOTIyOCIsImp0aSI6IjAxOTI5NDFmLTI2MGUtN2I0Ni1hMWFlLWYxMGZhZTcwMDE3OSIsIm5hbWUiOiJhcnRwYXJAZ21haWwuY29tIiwibmJmIjoxNzI5MDYxOTIyLCJzdWIiOiIwMTkyMmUxYS1kNWVhLTcxYzktYmQzZS02MTZkMjM3ODBmOTMifQ.H-GLmXCT-o7RxXrjo5Of0K8Nw5mpOOw6jgoXnd5KUxo
สำหรับการเรียก api ที่เหลือ นี่คือโทเค็น JWT พร้อมข้อมูลต่อไปนี้
{
"email" : " [email protected] " , // user email
"exp" : 1729321122 , // token expiry
"iat" : 1729061922 , // token issued at time
"iss" : " daptin-019228 " , // token issuer (your daptin instance)
"jti" : " 0192941f-260e-7b46-a1ae-f10fae700179 " , // unique identifier for this token
"name" : " [email protected] " , // user name
"nbf" : 1729061922 , // token valid not before timestamp
"sub" : " 01922e1a-d5ea-71c9-bd3e-616d23780f93 " // user reference id
}
ดังนั้นคุณจึงมีบัญชีและโทเค็นในการตรวจสอบสิทธิ์เป็นบัญชีนั้น แต่คุณต้องการมันเหรอ? ไม่ การโทรเรียกบัญชีผู้ใช้ทั้งหมดทำงานโดยไม่ได้รับอนุญาต
curl http://localhost:6333/api/user_account
{
"links" : {
"current_page" : 1 ,
"from" : 0 ,
"last_page" : 1 ,
"per_page" : 10 ,
"to" : 10 ,
"total" : 1
},
"data" : [
{
"type" : " user_account " ,
"id" : " 01929429-3d8f-7e53-8f15-a663e05fb01b " ,
"attributes" : {
"__type" : " user_account " ,
"confirmed" : 0 ,
"created_at" : " 2024-10-16T07:09:43.86360642Z " ,
"email" : " [email protected] " ,
"name" : " [email protected] " ,
"password" : " " ,
"permission" : 2097151 ,
"reference_id" : " 01929429-3d8f-7e53-8f15-a663e05fb01b " ,
"updated_at" : " 2024-10-16T07:09:43.863622045Z " ,
"user_account_id" : " 01929429-3d8f-7e53-8f15-a663e05fb01b "
},
"relationships" : { /// ... }
}
]
}
และข้อมูลทั้งหมดในตารางอื่นๆ ทั้งหมดก็เช่นกัน (เช่น site, cloud_store, document, usergroup) และคุณสามารถเรียกใช้การอัปเดตและลบ API ได้เช่นกัน (ไม่ได้แสดงไว้ที่นี่ แต่คุณสามารถลองลบไฟล์ฐานข้อมูล sqlite หลังจากคุณเล่นเสร็จแล้วเพื่อรีเซ็ตมันทั้งหมด)
ในฐานะผู้ใช้รายแรก คุณสามารถเลือกเปิดทิ้งไว้หรือเปิดใช้งานการอนุญาตหลายระดับและกลายเป็นผู้ดูแลระบบได้
curl ' http://localhost:6336/action/world/become_an_administrator ' --compressed -X POST
-H " Authorization: Bearer $TOKEN " --data-raw ' {} '
ณ จุดนี้ APIs อื่นๆ ทั้งหมดจะถูกล็อคและมีเพียงผู้ดูแลระบบเท่านั้นที่สามารถเข้าถึงได้ นั่นคือคุณ คุณต้องการเปิดการดำเนินการบางอย่างหรือหลายอย่างแก่แขกหรือผู้ใช้
... จะมีการอัปเดตเร็วๆ นี้
https://github.com/daptin/daptin-js-client
ชุดเริ่มต้น: https://github.com/daptin/vue_typescript_starter_kit
กำหนดสคีมา
หา
รับโดยรหัส
สร้าง
ลบ
ลบความสัมพันธ์
รายการความสัมพันธ์
ทับทิม | หลาม | จาวาสคริปต์ |
ตัวพิมพ์ดีด | PHP | โผ |
.สุทธิ | ชวา | ไอโอเอส |
น้ำอมฤต | ร | ภาษาเพิร์ล |
ข้อมูลจำเพาะของ OpenAPI V3 ถูกสร้างขึ้นโดยอัตโนมัติสำหรับปลายทางแต่ละจุดที่ถูกเปิดเผย สามารถใช้เพื่อสร้างเอกสารและไคลเอนต์เพิ่มเติม
curl http://localhost/apispec.yaml