我按照本教程设置了Angular和Rails的令牌身份验证:https://www.airpair.com/ruby-on-rails/posts/authentication-with-angularjs-and-ruby-on-rails
我正在尝试使用current_user
gem提供的devise_token_auth
帮助器。即使通过Angular成功验证用户(使用ng-token-auth
),current_user
也始终在Rails中返回false
。根据{{1}}的文档(https://github.com/lynndylanhurley/devise_token_auth),“客户端应在每个请求的标头中包含身份验证信息”。这些将是“访问令牌”,“到期”,“令牌类型”,“uid”和“客户端”。
我认为我的问题是:在http://localhost:3000/#/whatever(角度/客户端),但在http://localhost:3000/api/whatever(rails /服务器端)时,我可以在Web检查器的网络选项卡中看到这些auth标头),auth头不存在。因此,例如devise_token_auth
将返回nil。
我在几个地方读过类似/相同的问题,主要是在这里:https://github.com/lynndylanhurley/devise_token_auth/issues/74,但还没有成功。
我通常不会问很多问题,所以希望这是有道理的。另外,我是Angular的新品牌,并且只在Rails游戏中使用了几年,所以如果这是一个愚蠢的问题......我的不好;)