【问题标题】:In a REST API, handling authentication for multiple users在 REST API 中,处理多个用户的身份验证
【发布时间】:2015-03-05 05:13:28
【问题描述】:

实现 REST Api 的要求之一是客户端每次都必须向服务器发送所需的状态信息以处理特定请求。假设身份验证已经到位,并且我成功地验证了用户以使用 rest api,这意味着对于每个请求,我都在验证用户是否有权访问 api。

如果我有多个用户并且每个用户都有不同的访问权限怎么办。所以每个用户只能调用一组不同的 web 服务。我想知道这通常是如何由服务器处理的。我认为这样做的唯一方法是使用每个请求检查每个用户的身份验证(通过密码哈希码等),以验证他是否有权访问所请求的服务。如果这是正确的,那么在这种情况下处理多用户身份验证的推荐方法是什么?

我正在使用烧瓶来开发我的 api,所以任何具体的建议都将不胜感激:)

提前致谢。

【问题讨论】:

    标签: api rest authentication flask flask-login


    【解决方案1】:

    首先通过用户名和密码验证用户。返回一个令牌或哈希码。

    在您对服务器 api 执行任何操作之前,请使用令牌检查用户权限。

    您总是想检查其余 api 的权限。他们都可以调用 api。他们的权限将决定他们是否可以执行请求。

    【讨论】:

    • 所以这个哈希码需要在客户端始终存储在cookie中是吗?这样不是很危险吗?有人可以窃取 cookie 或劫持哈希码?服务器上有一个称为密​​钥的密钥,我不确定它在客户端的确切存储位置,但我相信它增加了针对此类风险的安全级别。
    • 如果您使用的是 Web 服务,则可以使用“会话”。但是使用 REST Api 没有会话。您必须以某种方式对用户进行身份验证,因此是的,您可以将令牌存储在 cookie 中。通过这样做,您还应该了解您还应该使用 HTTPS。更多信息在这里:stackoverflow.com/questions/319530/restful-authentication
    猜你喜欢
    • 1970-01-01
    • 2016-12-06
    • 2018-03-12
    • 2012-01-20
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    相关资源
    最近更新 更多