带有OAuth 2.0刷新令牌的PHP控制台应用程序,如何存储?

带有OAuth 2.0刷新令牌的PHP控制台应用程序,如何存储?,php,authentication,oauth,oauth-2.0,access-token,Php,Authentication,Oauth,Oauth 2.0,Access Token,我正在从事一个PHP项目,该项目利用了一些服务的API。对于单个API,它使用OAuth 2.0授权来验证应用程序的API访问。但是,我不确定应该如何处理该过程以验证本地控制台应用程序 我不会使用webflow来验证API,因为我的PHP脚本在本地控制台中运行。API允许通过输入我的用户名和密码来检索访问令牌和刷新令牌(他们建议仅针对控制台应用程序) 一旦我获得了访问令牌,我就可以使用它发出API请求。这个很好用。但是,我不确定如何处理我的刷新令牌。API使用如下刷新令牌: /oauth2/ac

我正在从事一个PHP项目,该项目利用了一些服务的API。对于单个API,它使用OAuth 2.0授权来验证应用程序的API访问。但是,我不确定应该如何处理该过程以验证本地控制台应用程序

我不会使用webflow来验证API,因为我的PHP脚本在本地控制台中运行。API允许通过输入我的用户名和密码来检索访问令牌和刷新令牌(他们建议仅针对控制台应用程序)

一旦我获得了访问令牌,我就可以使用它发出API请求。这个很好用。但是,我不确定如何处理我的刷新令牌。API使用如下刷新令牌:

/oauth2/access\u令牌/(刷新令牌使用情况)

上下文:客户端的Web服务器

必需参数:refresh\u token,grant\u type=refresh\u token, 客户id,客户机密

访问令牌作用域:无

成功后,将向客户端返回JSON响应:

使用刷新令牌将立即使相关访问过期 代币刷新令牌是一次性使用的。返回一个新的刷新令牌 从这个电话,准备好以后消费

根据我从中得到的信息,我的身份验证过程应该是这样的:

  • 初始身份验证-通过环境变量传递用户名/密码,从响应中获取访问/刷新令牌
  • 是否存储刷新令牌?检查初始访问令牌是否过期
  • 如果初始访问令牌已过期,请从文件中提取刷新令牌并请求新的访问/刷新令牌
  • 存储新的刷新令牌
  • 这听起来像是正确的身份验证流吗?是否有存储刷新令牌的特定方式?我知道简单地将刷新令牌存储在文本文件中可能会有很多安全问题,因为它能够完全访问我的帐户。还有更好的选择吗


    谢谢

    身份验证流程正常。有关更多详细信息和验证,请阅读

    您可以使用加密密钥将“刷新令牌”存储在文件或数据库中,并且只能使用TLS传输。”“刷新令牌”用于senerios,其中服务器确实希望执行一些预定的后台活动,例如基于先前存储的访问令牌从其他oAuth服务器访问配置文件和相关数据,而无需反复询问用户名和密码。如果“访问令牌”无效,则“刷新令牌”将用于获取新的“访问令牌”以用于此目的

    {
      "access_token": a valid access token,
      "scope": scope as given in authorize,
      "expires_in": seconds to expiry,
      "refresh_token": a token that can be used to get a new access token
    }