我可以使用GET方法发送访问令牌吗?

时间:2019-05-24 10:17:02

标签: rest http get jwt

我正在构建RESTful API,但是在实现/valid时遇到一些问题 端点。

/valid端点检查令牌到期。

  1. 此端点的GET方法是不错的选择吗?

  2. 使用GET方法发送令牌是否有问题? (如http://some.api/valid?access_token=ACCESS.TOKEN.STRING

1 个答案:

答案 0 :(得分:0)

如果使用GET,则服务器日志中将充满访问令牌。这可能是一个安全问题。

您要做的实际上是RPC,将参数(访问令牌)传递到函数(验证)中。

要使用REST进行此操作,可以将资源视为访问令牌。有了它,它已经被创建(POST),因此您希望以某种方式与其交互。 PUT更新了资源,但是您没有更新,但是也没有使用REST,因此这并不重要。您可以使用POST,但正如我所说,该资源(访问令牌)已经创建。

因此,为了尽可能接近REST,您可以:

PUT /accesstoken/validate
body: ACCESS.TOKEN.STRING

并获得适当的回复。如果相关,它还允许服务器跟踪访问令牌是否曾经被验证过。由于是RPC,因此意味着服务器可以执行其他操作,从而以某种方式更新资源。也就是说,它经过验证的次数以及从中进行验证的IP地址,可能会提高安全性。