2016-10-01 55 views
0

所以我想更多地瞭解API中的身份驗證。我對安全性如何工作知之甚少。一般的API安全提示和有關令牌如何工作的信息

我爲我的應用使用Auth0,它只支持從社交媒體網站登錄。我的API檢查用戶是否已通過身份驗證並檢查正在發送的數據以避免將錯誤的內容保存在數據庫中(mongodb)。這就是我目前實施的所有API來保護我的API。用戶是否有可能通過簡單地猜測不同的用戶_id來獲取他從登錄後獲得的自己的令牌並將信息發佈到不同的帳戶。

例如,一篇文章接收其所有內容和文章作者的ID。

如果這是可能的什麼是保護我的API的一些解決方案。

任何其他提示,使API安全感謝!

回答

1

Auth0支持登錄任何東西,而不僅僅是社交網絡。您可以使用用戶名/密碼,LDAP服務器,SAML服務器等登錄。

令牌是一個安全的工件。作者不能在不損害令牌本身的情況下更改令牌中的ID(例如,數字簽名將失敗),因此冒充其他人並不那麼容易。你需要做的第一件事是檢查添加到請求中的令牌的完整性,並拒絕包含無效的令牌(壞簽名,過期等)。

這是一個需要大量的內容的問題,所以我會建議從這裏開始:https://auth0.com/docs/api-auth

+0

感謝您的答覆。我的問題是,如果某人可以使用自己的令牌通過郵遞員或其他類似的方式代表其他人發送數據到API,只需更改_id即可。我的API需要一篇文章的內容(標題,內容等)和一個名爲author_id的字段,我擔心可以使用該字段。 –

+0

是的,如果你放棄了這個標記,那麼擁有它的任何人都可以使用它。這就是爲什麼所有的交互應該通過SSL進行,這就是爲什麼令牌到期。所以,在令牌被泄漏的情況下,它不能被使用。 –

+0

不幸的是,這仍然不是我正在尋找的答案。我明白如果令牌丟失,安全性可能會被破壞。 設想一個簡單的mongodb架構爲用戶 用戶= { _id:123, 名:「不管」, } 當用戶創建的製品,使用該模式。 文章= { ID:987 AUTHORID:相同用戶ID 內容: 「布拉布拉」 } 的製品通過與AUTHORID GET請求檢索。我只是好奇,用戶是否可以在向服務器發送POST請求時更改authorId,然後使用他自己的合法令牌將其發送到數據庫。 –