如何使用devise_auth_token为请求配置邮递员

Eve*_*nce 0 ruby-on-rails postman

我需要使用Postman记录RubyOnRails API,但是我不知道如何为需要令牌的请求设置授权。我正在使用devise_token_auth gem

Eve*_*nce 5

使用devise_token_auth时,cURL的格式如下:

curl -XGET -v -H 'Content-Type: application/json' -H 'access-token: lW1c60hYkRwAinzUqgLfsQ' -H 'client: W_xCQuggzNOVeCnNZbjKFw' -H "uid: email@domain.com" http://domain/api/v1/auth/validate_token
Run Code Online (Sandbox Code Playgroud)

因此,您需要访问下一个参数:access-token,client,uid,url

要获取它们,您需要遵循以下说明:

  • POST请求发送到您的注册请求创建一个新用户,在这种情况下的http://本地主机:3000 /权威性身体RAW格式把params,你需要创建一个新的用户(比如上例中),并点击发送。

在此处输入图片说明

  • 现在,您已经获得了请求的响应,所需的参数位于请求的标题中,单击“ 标题”选项卡以查看它们。

在此处输入图片说明

  • 然后在Postman中使用需要授权的GET创建一个新请求,并在Headers中从上一个请求的标题中设置access-tokenclientuid值。

在此处输入图片说明

您可以在环境中将值设置为局部变量,以在每个请求中调用它们,而不是将其粘贴在每个标头中。

完成本指南后,如果出现授权错误

{
  "errors": [
    "Authorized users only."
  ]
}
Run Code Online (Sandbox Code Playgroud)

这是因为有时访问令牌被配置为每次客户端查询API时都会更改,要更改此配置,只需将以下行添加到config / initializers / devise_token_auth.rb

config.change_headers_on_each_request = false
Run Code Online (Sandbox Code Playgroud)

REST API测试-邮递员在每个请求后表现为不同的客户端