簡體   English   中英

REST API 無前端注冊新用戶的設計模式

[英]REST API design pattern to register new users without frontend

我正在構建一個帶有一些 CRUD 資源的 REST API(在 laravel 中,如果重要的話)。 現在我到了需要向我的應用程序添加身份驗證的地步。 我個人希望避免構建一個完整的用戶界面(如網頁等),而是堅持使用 REST API,例如可以與 curl 一起使用。

但是你會如何設計這樣的模式呢? 用戶應該通過rest api注冊,我應該手動創建新用戶嗎? 我的系統不會有太多用戶,它只是一個開發人員訪問權限,我想讓不同的公司訪問數據。

REST 的登錄/會話對我來說沒有意義,它也會使 API 更復雜,尤其是沒有前端。 難道沒有一個人們已經在使用的通用解決方案/模式嗎?

所以我在想的問題:

  1. 人們應該使用/register之類的東西,還是我應該自己通過 cmd 創建用戶?
  2. 如何避免陌生人注冊? 或者我將如何處理特定用戶的授予/升級權限?
  3. 我真的應該創建新用戶還是只有一個用戶(我/管理員)可以提供具有特定功能的令牌?
  4. 如何管理角色/權限? 以令牌為基礎,以用戶為基礎,還是兩者兼而有之?
  5. 如何將令牌安全地傳輸給新用戶? 我想避免在我的應用程序中也進行復雜的 email 處理。

1. 人們應該使用 /register 之類的東西,還是我應該自己通過 cmd 創建用戶?
2.如何避免陌生人注冊? 或者我將如何處理特定用戶的授予/升級權限?
5. 如何將令牌安全地傳輸給新用戶? 我想避免在我的應用程序中也進行復雜的 email 處理。

鑒於:

我的系統不會有太多用戶

和你的問題(2),你應該很容易手動管理注冊 - 也就是說,任何需要訪問 API 的人都會手動聯系你,你手動更新你的用戶數據庫,並手動向他們發送他們的訪問令牌。

通常基於 API 的注冊需要一些訪問權限(如果 API 不是公開的),並且通常需要一些證明您是人類的證據(例如 CAPTCHA)。 與您的手動交互提供了兩者。

3. 我真的應該創建新用戶還是只有一個用戶(我/管理員)可以提供具有特定功能的令牌?

讓多個人/代理使用同一個用戶是一種非常糟糕的做法。 對於安全性、可審計性以及您目前可能沒有預料到的某些功能,您應該為使用 API 的每個代理/人員分配一個用戶。

4. 如何管理角色/權限? 以令牌為基礎,以用戶為基礎,還是兩者兼而有之?

聽起來您的案例很簡單,可以使事情變得簡單並根據用戶管理授權。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM