Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 验证Web和移动到Rails API_Ruby On Rails_Ruby_Http_Authentication - Fatal编程技术网

Ruby on rails 验证Web和移动到Rails API

Ruby on rails 验证Web和移动到Rails API,ruby-on-rails,ruby,http,authentication,Ruby On Rails,Ruby,Http,Authentication,我正在阅读Paul Dix的《基于Ruby的面向服务的设计》一书和这里的许多帖子,但我仍然有很多关于验证用户和应用程序的问题 我想让api.site.com作为RESTful Rails应用程序提供JSON。Secure.site.com将是一个使用该服务的web应用程序(可能是Rails或PHP)。此外,iPad等移动应用程序也会使用它 那么,第一步是建立一个身份验证级别,以便只有我的web应用程序和移动应用程序可以使用该服务吗?那么,一旦呼叫应用程序经过身份验证,这两个应用程序都会有用户希望

我正在阅读Paul Dix的《基于Ruby的面向服务的设计》一书和这里的许多帖子,但我仍然有很多关于验证用户和应用程序的问题

我想让api.site.com作为RESTful Rails应用程序提供JSON。Secure.site.com将是一个使用该服务的web应用程序(可能是Rails或PHP)。此外,iPad等移动应用程序也会使用它

那么,第一步是建立一个身份验证级别,以便只有我的web应用程序和移动应用程序可以使用该服务吗?那么,一旦呼叫应用程序经过身份验证,这两个应用程序都会有用户希望对其数据进行CRUD,那么是否也要对其进行身份验证

我读过Http basic、digest、tokens、oauth和许多插件,但很难缩小最灵活和可重用的方式。现在,这只是学习,所以我想远离插件,这样我可以更好地学习代码


我的web应用程序可以像我熟悉的那样使用普通会话,然后手机可以使用与会话相当的会话。在这一点上,我仍然没有认证的呼叫应用程序虽然。Http basic似乎我可以从这两个方面使用它,但我没有看到我的web应用程序使用普通登录表单的方法,注销似乎是一个问题。

我为您建议两种解决方案

  • 对登录系统使用类似Gem的designe,并继承designe注册和会话控制器,使其响应JSON请求

  • 创建自己的简单身份验证,并使用respond to HTML和respond to JSON分离web和移动登录


  • 我不完全确定移动设备是否维护会话(请四处看看),但如果没有,你可以使用令牌身份验证系统

    谢谢你的回复。我想我可能会进一步研究选项2。当你说token时,这是为了验证他们是否被允许呼叫该服务,还是该服务已附加到用户?如果你认为答案正确,请接受。是,令牌用于验证来自设备的api调用。