一般的API安全提示和有关令牌如何工作的信息

问题描述:

所以我想更多地了解API中的身份验证。我对安全性如何工作知之甚少。一般的API安全提示和有关令牌如何工作的信息

我为我的应用使用Auth0,它只支持从社交媒体网站登录。我的API检查用户是否已通过身份验证并检查正在发送的数据以避免将错误的内容保存在数据库中(mongodb)。这就是我目前实施的所有API来保护我的API。用户是否有可能通过简单地猜测不同的用户_id来获取他从登录后获得的自己的令牌并将信息发布到不同的帐户。

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

如果这是可能的什么是保护我的API的一些解决方案。

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

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,然后使用他自己的合法令牌将其发送到数据库。 –