Ruby on rails 基于令牌的跨域认证
有两台服务器:Ruby on rails 基于令牌的跨域认证,ruby-on-rails,authentication,access-token,http-token-authentication,Ruby On Rails,Authentication,Access Token,Http Token Authentication,有两台服务器: 一个在域A上 另一个在不同的域B上 让我们分别称它们为A-server和B-server A-server是一个具有自己身份验证的主服务器,也是前端部分。 B-server是一种具有自身身份验证的服务 如何从js中的服务器A验证服务器B上的用户 我考虑基于令牌的身份验证,并将其添加到服务器B 现在它可以响应/sign.json路径并使用令牌进行身份验证 但令牌被放置在http头中。 所以,一切都应该正常,对吗? 但是这些头对于js是隐藏的,因为服务器(主A使用js,B使用基于
- 一个在域A上
- 另一个在不同的域B上
/sign.json
路径并使用令牌进行身份验证
但令牌被放置在http头中。
所以,一切都应该正常,对吗?但是这些头对于js是隐藏的,因为服务器(主A使用js,B使用基于令牌的身份验证)有不同的域 有人能指出这种身份验证的适当实现吗 还有,应该如何做好呢 (目前,很难将身份验证放在一个位置并用于所有服务/服务器。) 这是关于http和令牌的一般问题,但我有具体的实现: B-轨道4.2
gem“设计认证令牌”
宝石“机架cors”
//setup for rack-cors:
//in middlewares.rb
config.middleware.insert_before 0, "Rack::Cors" do
allow do
origins ENV['CONFIG_ACTION_DISPATCH_DEFAULT_HEADERS_CONTROL_ALLOW_ORIGIN'] || '*'
resource '*', headers: :any,
methods: [:get, :post, :options, :put, :patch, :delete],
expose: ['access-token', 'expiry', 'token-type', 'uid', 'client']
end
end
正如您在安装程序中看到的,我添加了来自基于令牌的身份验证的公开头。您曾经解决过这个问题吗?我们遇到了类似的问题,我们发现很难找到线索。你能解决这个问题吗?我们遇到了类似的问题,我们发现很难找到线索