使用AngularJs和Devise Rails进行身份验证,我是否需要令牌系统?

vpo*_*ain 11 devise ruby-on-rails-3 angularjs

我正在创建一个基于Rails和AngularJS的应用程序.我想使用gem Devise实现一个身份验证系统.我想知道该怎么做.我读了一些关于属性的文章:token_authenticatable:我将把我的令牌放在我将要发送的所有请求的末尾.

我还阅读了这个演示项目https://github.com/sectore/CafeTownsend-Angular-Rails 他们实现了一个可以创建和删除服务器会话的SessionService.(我想,我可以用Devise来完成这项工作).在rails controler中,他们得到session [:user_id]以了解用户是否经过身份验证...

我的问题:我是否需要令牌系统或cookie系统来验证我的请求?

谢谢

ton*_*ung 6

如果您的服务器与您的客户端位于同一个域中,即:只会期望来自您的角度客户端的请求,并且客户端托管在与服务器相同的URL上,那么您应该使用cookie而不是ssl(为简单起见),例如:

您的网站:

www.myangularsite.com/somepage
Run Code Online (Sandbox Code Playgroud)

你的服务器

www.myangularsite.com/someserverfunction
Run Code Online (Sandbox Code Playgroud)

他们都有相同的域名.

但是,如果您计划将服务器端放在不同的URL上,可能作为API,那么请使用令牌,EG:

您的网站:

www.myangularsite.com/somepage
Run Code Online (Sandbox Code Playgroud)

你的服务器

api.myangularsite.com/someserverfunction
or
myrubyapi.com/someserverfunction
Run Code Online (Sandbox Code Playgroud)

URL域不同.