我正在为我的 Rails 应用程序发布一个 API,并使用 Oauth2 保护它。我已经设置了 Doorkeeper 来处理 Oauth2 提供程序,并且效果很好。我可以按照此处的教程对单个会话进行身份验证和设置客户端。我想发布一个 Gem 供人们通过 API 访问他们的帐户,但我只希望他们必须对应用程序进行一次身份验证。所以,我有几个问题:
- 我是否需要存储访问令牌才能完成此操作?大多数 API 要求您存储密钥和机密,但不需要存储令牌。
- 如果我确实需要存储它,如何从该存储值实例化一个新令牌?
- 如果我需要存储它,在安全方面,拥有一个不会过期的令牌是否有问题?如果是这样,我应该启用刷新令牌吗?
一般来说,是否有更好/更标准的 API 方法?用户将能够创建可发货的订单(即涉及到金钱),因此这里的安全性是一个非常重要的问题。