如何在JSON API的RSpec测试中通过身份验证令牌?

tim_xyz

我正在尝试get在Rails的RSpec JSON API测试中添加授权令牌但是到目前为止,所有尝试都导致错误。问题似乎是令牌没有在请求中正确传递。

expected the response to have a success status code (2xx) but it was 401

当前代码:

Project_spec.rb(测试)

before do
    @project = create(:project, :key => "123")
    get '/api/v1/projects/1', {:Authorization => "Token 123"}, format: :json
end

it "returns correct status" do
    expect( response ).to have_http_status(:success)
end

ProjectsController.rb

before_filter :restrict_access, :except => :create

def show
    @project = Project.find(params[:id])
    render json: @project
end

def restrict_access
    authenticate_or_request_with_http_token do |token, options|
        Project.exists?(key: token)
    end
end

根据网上找到的一些推荐解决方案,我尝试了

  1. get '/api/v1/projects/1', format: :json, token: "123"

  2. get '/api/v1/projects/1', { 'HTTP-AUTHORIZATION' => 'Token "123"' }, format: :json

  3. get '/api/v1/projects/1', {:Authorization => "Token 123"}, format: :json

但是似乎没有成功通过授权令牌的事情。

注意:从外部应用程序发布时,#3中的样式有效,但在RSpec测试本身中则无效。

是否有人对此有经验并可以分享一些指导?

绿色的

像这样使用它:

 get '/api/v1/projects/1', {}, { Authorization:  "Token 123"}

get是http方法,{}一个空的参数,{ :Authorization => "Token 123"}标头

get(路径,参数=零,headers_or_env =零)

Documentation

另一种方式:

before do
    # some code here
    @request.env['Authorization'] = "Token 123"
    get '/api/v1/projects/1', format: :json
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在JSON API的RSpec测试中通过身份验证令牌?

来自分类Dev

如何测试使用JWT身份验证的Node API(通过用户登录获取令牌)

来自分类Dev

如何测试基于令牌的身份验证?

来自分类Dev

如何在Web API中获取经过身份验证的用户名(基于令牌的身份验证)

来自分类Dev

如何通过Google测试身份验证?

来自分类Dev

如何在Spring Security中撤消身份验证令牌?

来自分类Dev

如何测试使用django-rest-auth令牌身份验证的API?

来自分类Dev

向JSON REST API进行身份验证时如何获取会话令牌(在R中)

来自分类Dev

如何通过Web api2控制器使用Firebase令牌身份验证

来自分类Dev

如何通过 HTTPoison 在 hackney 上将代理 api 令牌设置为身份验证?

来自分类Dev

如何使用python-social-auth通过代码中的访问令牌进行身份验证

来自分类Dev

如何使用身份验证令牌对 oracle 云 ipnetwork API 进行身份验证?

来自分类Dev

如何仅在API身份验证中允许Bearer令牌?

来自分类Dev

我们如何在ASP.NET Web API中记录身份验证令牌请求

来自分类Dev

如何在laravel api中创建多个身份验证?

来自分类Dev

如何在android studio中验证令牌?身份验证无法识别?

来自分类Dev

Jmeter-如何在Jmeter中测试受客户端证书身份验证保护的api?

来自分类Dev

如何通过设计身份验证令牌直接从 Active Admin 中的 edit_page 重置用户密码?

来自分类Dev

当使用ASP.NET Core Web API中没有身份的cookie身份验证时,如何在登录时刷新CSRF令牌

来自分类Dev

如何通过表单在ASP.NET Web API中实现Active Directory身份验证?

来自分类Dev

如何通过表单在ASP.NET Web API中实现Active Directory身份验证?

来自分类Dev

如何通过Xamarin.forms中的Office365 API存储身份验证状态

来自分类Dev

使用身份验证令牌保护JSON

来自分类Dev

如何在角度资源中设置owin令牌身份验证标头

来自分类Dev

如何在C#中获得OAuth 2.0身份验证令牌

来自分类Dev

如何在自适应对话框的HttpRequest中添加身份验证令牌?

来自分类Dev

如何在社交身份验证中存储Facebook的访问令牌

来自分类Dev

如何在asp.net中检查基于令牌的GET和Post方法的身份验证

来自分类Dev

如何在部署组注册脚本中显示“用户身份验证令牌”复选框

Related 相关文章

  1. 1

    如何在JSON API的RSpec测试中通过身份验证令牌?

  2. 2

    如何测试使用JWT身份验证的Node API(通过用户登录获取令牌)

  3. 3

    如何测试基于令牌的身份验证?

  4. 4

    如何在Web API中获取经过身份验证的用户名(基于令牌的身份验证)

  5. 5

    如何通过Google测试身份验证?

  6. 6

    如何在Spring Security中撤消身份验证令牌?

  7. 7

    如何测试使用django-rest-auth令牌身份验证的API?

  8. 8

    向JSON REST API进行身份验证时如何获取会话令牌(在R中)

  9. 9

    如何通过Web api2控制器使用Firebase令牌身份验证

  10. 10

    如何通过 HTTPoison 在 hackney 上将代理 api 令牌设置为身份验证?

  11. 11

    如何使用python-social-auth通过代码中的访问令牌进行身份验证

  12. 12

    如何使用身份验证令牌对 oracle 云 ipnetwork API 进行身份验证?

  13. 13

    如何仅在API身份验证中允许Bearer令牌?

  14. 14

    我们如何在ASP.NET Web API中记录身份验证令牌请求

  15. 15

    如何在laravel api中创建多个身份验证?

  16. 16

    如何在android studio中验证令牌?身份验证无法识别?

  17. 17

    Jmeter-如何在Jmeter中测试受客户端证书身份验证保护的api?

  18. 18

    如何通过设计身份验证令牌直接从 Active Admin 中的 edit_page 重置用户密码?

  19. 19

    当使用ASP.NET Core Web API中没有身份的cookie身份验证时,如何在登录时刷新CSRF令牌

  20. 20

    如何通过表单在ASP.NET Web API中实现Active Directory身份验证?

  21. 21

    如何通过表单在ASP.NET Web API中实现Active Directory身份验证?

  22. 22

    如何通过Xamarin.forms中的Office365 API存储身份验证状态

  23. 23

    使用身份验证令牌保护JSON

  24. 24

    如何在角度资源中设置owin令牌身份验证标头

  25. 25

    如何在C#中获得OAuth 2.0身份验证令牌

  26. 26

    如何在自适应对话框的HttpRequest中添加身份验证令牌?

  27. 27

    如何在社交身份验证中存储Facebook的访问令牌

  28. 28

    如何在asp.net中检查基于令牌的GET和Post方法的身份验证

  29. 29

    如何在部署组注册脚本中显示“用户身份验证令牌”复选框

热门标签

归档