簡體   English   中英

移動應用程序:用戶寫入數據庫如何確定他們可以(身份驗證)?

[英]Mobile App: users writing to DB how to be sure they can(authentication)?

我認為必須要說的是,我對以下提名的技術沒有任何經驗,我對正在發生的事情有一定的了解,我在Google上搜索了很多,但我仍然覺得自己更愚蠢。 :)

在Ionic 2中制作應用程序,該應用程序的用戶可以在DB中讀取/寫入有關其自身的數據。

我使用Wordpress作為后端,實際上用戶將更改某些Wordpress插件創建的表中的值。

第一個問題-我完全沒有經驗。
第二個-我必須了解哪個用戶正在敲服務器。 因為用戶只能在DB中更改自己的數據。

我已經通過創建一個腳本來解決該問題,該腳本檢查來自應用程序的GET請求,並且該請求具有帶有用戶昵稱的參數,因此我已將此腳本轉換為模板並將其分配給了頁面。 (如果您有更好的主意,模板是我想到的第一件事-請告訴我如何做得更好!)。

好了,現在我知道是誰了,但是我不喜歡這樣不安全! 它唯一帶有用戶名的GET請求,然后更改以帶入數據庫。 不好。 我認為我不僅應該發送昵稱,還應該發送某種密碼,這樣我就可以檢查用戶是否實際上是真實用戶,好吧,您知道。

但是對安全一無所知,不知道從哪里開始,所以我開始谷歌搜索。

我發現有“基本身份驗證”-不喜歡它,因為密碼非常容易解碼(base64),並且您必須隨每個請求一起發送(不安全)。

然后我想到了使用bcrypt之類的強大算法對加密傳遞進行加密,然后隨請求一起發送。 也不喜歡它-因為最后,即使被高度加密,您也總是會發送密碼。

現在,我開始着眼於Auth 1.0的方向(因為看到wordpress有一個插件,但是我對wp知之甚少)。

但是畢竟我不確定我是否以正確的方式做事。 我必須完成許多事情,但是我仍然會遇到這個安全問題,並且我不知道這是否是我的偏執狂,並且有更簡單的方法可以完成我想做的事情。 沒有太多時間,不想再浪費時間了。

請有經驗的人給我一個建議,以正確的方式來做這件事! 因為我對這些東西發瘋了。

最佳做法是通過以下步驟將訪問令牌從服務器發布到您的(甚至是第三方)客戶端應用程序。

  1. 用戶使用客戶端應用程序。
  2. 客戶端應用程序詢問用戶是否使用您的服務。
  3. 用戶回答“是”。
  4. 客戶端應用程序使用Web瀏覽器打開服務的授權頁面。 換句話說,客戶端應用程序向您的授權服務器發出授權請求
  5. 授權頁面向用戶說明客戶端應用程序正在請求某些權限,並詢問用戶是否批准。
  6. 用戶在授權頁面的登錄表單中輸入其ID和密碼,然后按“批准”按鈕。
  7. 您的授權服務器對用戶進行身份驗證,並向客戶端應用程序頒發訪問令牌
  8. 客戶端應用程序使用訪問令牌訪問您服務的Web API。
  9. 服務的Web API會檢查顯示的訪問令牌是否有效。
  10. 如果訪問令牌有效,則Web API將成功響應返回給客戶端應用程序。

RFC 6749 (OAuth 2.0授權框架)定義了4個發布訪問令牌的流。 檢查規格。

暫無
暫無

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

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