【问题标题】:API Authorization StrategyAPI授权策略
【发布时间】:2016-05-09 20:21:47
【问题描述】:

我在 node js 中有一个 Web 应用程序,它使用 API 来处理网站内容的某些方面,例如新闻。 API 是用 node.js 编写的,并指向一个 mongodb 数据库。

我想要一些关于此类需求的最佳授权策略的建议。我真的不需要用户名和密码解决方案(我不认为)。 Web 应用程序可以传递给 API 的某种静态令牌,以便只有具有此令牌的应用程序才能浏览 API 返回的数据。我主要想停止任何使用 API 的旧应用程序。

【问题讨论】:

    标签: node.js api authentication authorization


    【解决方案1】:

    这是最好的博客,可以帮助您如何在基本 HTTP 身份验证、Oauth1 和 Oauth2 的帮助下验证节点 js 中的 REST Api

    https://stormpath.com/blog/secure-your-rest-api-right-way

    一般使用的认证基本上有这三种

    • 基本身份验证
    • Oauth1.0a
    • Oauth2

    Http 基本认证

    • 更方便,因为您可以轻松过期或重新生成令牌 不影响用户的账号密码。

    • 如果被攻破,漏洞仅限于 API,而不是用户的主控 帐号

    • 每个帐户可以有多个密钥(例如,用户可以有“测试” 和“生产”键并排。)

    Oauth1

    OAuth 1.0 要求客户端为每个 API 调用发送两个安全令牌,并使用两者来生成签名。它要求受保护的资源端点可以访问客户端凭据以验证请求。

    Oauth2

    生成令牌后,实际 API 调用不需要 OAuth 2.0 签名。它只有一个安全令牌。

    Here 描述了 OAuth 1.0 和 2.0 之间的区别以及两者的区别。

    【讨论】:

    • 感谢您提供此信息。我想从 API Key 实现开始,因为我不需要用户名和密码解决方案。您能否建议以上哪一项最适合以下所需行为? 1. 您从服务中获得一个 API 密钥(共享密钥)。 2. 将密钥添加到授权标头。 3.调用API。
    猜你喜欢
    • 2018-07-21
    • 2017-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多