簡體   English   中英

用於電話身份驗證的 RESTful API 端點

[英]RESTful API Endpoints for Phone Authentication

這個問題可能更適合代碼審查 - 如果是這樣,請告訴我,我會遷移它。

考慮以下應用程序登錄流程(與 WhatsApp 類似/相同):

  1. 代碼請求- 用戶請求驗證碼(通過 SMS)
  2. 重新發送代碼(可選) - 用戶請求重新發送代碼
  3. 驗證代碼和身份驗證- 用戶提交代碼,從而驗證他們的電話號碼,並在驗證后收到訪問令牌

這可以分為三個動作; 請求重新發送驗證

此外,每個端點都在后端創建資源,因此每個端點都應該使用POST方法。

一種RESTful 方法將類似於以下內容:

  • POST /auth/request
  • POST /auth/resend
  • POST /auth/verify

為了使這成為真正的 RESTful,我需要廢棄動詞(請求、重新發送、驗證)並在適當的地方替換為資源名稱(名詞)。

例如:

  • POST /auth/requests
  • POST /auth/resends
  • POST /auth/verifications

我完全理解這可能有點主觀,但上面似乎是錯誤的......相反,我想出了以下內容:

  • POST /auth/requests
  • PUT /auth/requests -不確定這個...
  • POST /auth

我真的很難想出更合適的資源名稱/端點,有人能想到更好的選擇嗎?

為了使這成為真正的 RESTful,我需要廢棄動詞(請求、重新發送、驗證)並在適當的地方替換為資源名稱(名詞)。

REST 對 URI 設計沒有任何意見(除了 URI 與RFC 3986一致的廣泛要求)。 這是重點的一部分——通用組件將 URI 理解為不透明的標記。

/a81a8d0e-ffd0-4758-8cc8-f4c2784a95ae

是一個完美的 REST-"ful" URI。

設計 URI 類似於選擇變量名,考慮大致相同,並且適當的權限是您的本地樣式指南。

“名詞”並非來自我們是 RESTful 的事實,而是來自我們用來導航域應用程序協議的文檔(資源)的名稱。 首先獲取正確的資源,然后選擇匹配的標識符。

一個有用的啟發式方法是考慮如何將協議實現為 web 站點 - 單擊此鏈接以加載該表單,提交表單,獲取帶有鏈接的 email,加載鏈接,提交該表單等。流,然后考慮如何使其機器可讀。

暫無
暫無

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

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