我正在为一个 Web 应用程序开发 REST API,到目前为止,我们已经在内部为几个配套应用程序开发了该 API。现在,我们正在考虑向外部开发人员开放,我们希望向 API 添加令牌,以帮助识别谁在发出请求,并总体上帮助管理其使用。此时,我们正在使用 https 和基本身份验证对 API 进行用户身份验证。
我们一直在讨论的令牌方案非常简单,其中每个开发人员将被分配 1 个或多个令牌,并且这些令牌将作为每个请求的参数传递。
我的问题是,如果您之前做过类似的事情,您是如何做到的(您做得更多还是更少,您如何处理安全性等)以及您有什么建议吗?
首先,您可能想看看http://OAuth.net http://OAuth.net。根据您的用例,它可能会提供您所需的安全性。
至于令牌,对于大多数协议来说它都是 BLOB,包括 OAuth。您可以以任何格式将您需要的任何信息放入其中。
这就是我们所做的,
- 首先,我们为每个开发人员分配一个具有相关秘密的密钥。
- 令牌本身是加密的名称-值对。我们将用户名、过期时间、会话 ID、角色等信息放在那里。它是用我们自己的秘密加密的,因此其他人无法破解。
- 为了方便使用 Web API,我们使用 URL 安全版本的 Base64,因此令牌始终是 URL 安全的。
希望有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)