我正在构建RESTful API,但是在实现/valid
时遇到一些问题
端点。
/valid
端点检查令牌到期。
此端点的GET方法是不错的选择吗?
使用GET方法发送令牌是否有问题? (如http://some.api/valid?access_token=ACCESS.TOKEN.STRING)
答案 0 :(得分:0)
如果使用GET
,则服务器日志中将充满访问令牌。这可能是一个安全问题。
您要做的实际上是RPC
,将参数(访问令牌)传递到函数(验证)中。
要使用REST
进行此操作,可以将资源视为访问令牌。有了它,它已经被创建(POST
),因此您希望以某种方式与其交互。 PUT
更新了资源,但是您没有更新,但是也没有使用REST,因此这并不重要。您可以使用POST
,但正如我所说,该资源(访问令牌)已经创建。
因此,为了尽可能接近REST
,您可以:
PUT /accesstoken/validate
body: ACCESS.TOKEN.STRING
并获得适当的回复。如果相关,它还允许服务器跟踪访问令牌是否曾经被验证过。由于是RPC,因此意味着服务器可以执行其他操作,从而以某种方式更新资源。也就是说,它经过验证的次数以及从中进行验证的IP地址,可能会提高安全性。