api - 接受身份验证令牌作为参数是否安全?
问题描述
我正在创建一个使用 Alpaca API 的股票交易应用程序。我不想存储用户的用户名/密码或 API 密钥/秘密,以避免将此类有价值的凭据存储在我自己的托管数据库中的安全问题。
我的想法是在本地存储 API 令牌,例如在本地存储中加密或使用他们的指纹,然后在每次需要操作时将其传递给 API 调用(通过 HTTPS)。服务器端 API 将使用令牌但不存储任何内容。
我觉得这更安全,因为密钥/秘密永远不会离开客户端,并且只有令牌通过加密通道传递。如果发生数据泄露,它将是每个设备,而不是所有凭据的整个数据库。
我非常渴望听到社区的想法。
解决方案
羊驼CTO在这里。
Alpaca 官方问题跟踪器中有一个功能请求,用于为这个用例添加 OAuth。
https://github.com/alpacahq/Alpaca-API/issues/20
这将解决您提到的问题,我们渴望添加它。同时,是的,您的方法也可以。这里的关键点是 API 密钥 id/secret 是一种用户/密码,所以不要以原始格式存储或暴露给客户端。
推荐阅读
- c# - 如何用空格字符替换没有数字字符?
- sql - 每个日期的唯一行号与分区
- azure-storage - 写入天蓝色表存储时,我们有时会看到行为
- python - ID标签不会自动增加python中的数字
- javascript - 数组中的值不相加
- html - 我想将我的卡附加到另一个 html 页面
- javascript - 无法在谷歌地球中呈现 kml 文件
- java - 如何从 java 程序中重新运行 java 代码?
- angularjs - AngularJs 如何使用 angular-jwt 从 $localStorage 获取 jwt 令牌
- magento - Akeneo - 导入产品 CSV - 导入错误 - 字段“sku”是预期的,提供的字段是