簡體   English   中英

限制用戶訪問api調用?

[英]Limit user access to api calls?

我正在創建一個rest api作為消息傳遞應用程序的后端。 我希望用戶只能訪問自己的數據。 例如,user1可以調用/ users / user1但不能調用/ users / user2。 我該怎么做呢

因此,首先用戶將登錄並通過其用戶名和密碼進行身份驗證。 但是我從哪里開始呢? 我正在考慮使用用戶數據存儲令牌,因此當他們訪問它時,我可以驗證該對匹配但是必須有更好的方法來執行此操作。 我需要重組我的api嗎?

用戶登錄系統后,您應該為其提供令牌或初始化該用戶的會話。 在每次連續調用中,用戶應將令牌發送到API。 只要令牌/會話處於活動狀態,用戶就應該能夠調用API。

您應該有辦法在每個API調用的后端驗證用戶令牌。 一種非常流行的方法是使用基於JWT(JSON Web Tokens)的身份驗證。 請參閱此處以獲取使用python和flask的示例: https//realpython.com/token-based-authentication-with-flask/

驗證用戶后,應將用戶ID解析為數據庫查詢,以過濾掉該用戶的數據。

即使我不了解您的完整用例,您似乎也需要重新調整API調用。 您不應該為每個用戶提供API調用。 當系統中的用戶數量動態增加時會發生什么?

因此,您應該接受用戶ID作為參數,或者您應該讓JWT身份驗證器處理它。

示例REST API調用將是

GET /user/data?userId=1234

暫無
暫無

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

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