首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS应用程序- Rails 4并将其设计为后端

iOS应用程序- Rails 4并将其设计为后端
EN

Stack Overflow用户
提问于 2014-02-01 16:55:24
回答 1查看 742关注 0票数 4

我想知道如何使用rails作为我的iOS应用程序的后端。

所有我需要的是一个用户与电子邮件和密码,以认证使用设计。我已经有了一个用devise和rails 4创建的用户。

我确实找到了这篇http://jessewolgamott.com/blog/2012/01/19/the-one-with-a-json-api-login-using-devise/文章,解释了我需要什么,但有些东西仍然缺失。

  1. 当我试图通过我的iOS应用程序写一篇文章时,我会收到这样的消息:“无法验证CSRF令牌的真实性”。如何在不跳过过滤器verify_authenticity_token的情况下解决这个问题?

  1. iOS的请求代码会是什么样子?现在,我正在对POST进行http://localhost:3000/api/users/sign_in.json并设置HTTPBody = [NSJSONSerialization dataWithJSONObject:jsonDictionary options:0 error:&jsonError],但是rails服务器只接收到一个字符串,作为键使用整个json字典,而不是实际的json字典。 params = {"{\"user\":{\"email\":\"qwe\",\"password\":\"123\"}}"=>nil, "action"=>"create", "controller"=>"api/sessions", "format"=>"json"}

  1. 我将如何处理https请求而不是http,这样我就可以隐藏密码和电子邮件字段,以防其他人试图监视我的网络流量。

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2015-07-14 15:37:53

要使用Rails应用程序Mobile、Android和IOS,您必须使用JSONP:示例:

JS样本:

代码语言:javascript
复制
$.ajax({
  url: '/api_mobile',
  jsonp: "callback",
  dataType: "jsonp",
  cache: true,
  data: {method: 'login', other_data ...},
  success: function(res) {
    // response object
    console.log(res)
  },
  error: function(request, status, error) {
    alert("Error server: " + request.status);
  }
});

RAILS 4:

代码语言:javascript
复制
protect_from_forgery with: :exception, only: :api_mobile

# route /api_mobile
def api_mobile  
   json = {error: 'Not found Method'}
   case params[:method]
      when: 'login'
         if User.login(params[:username], params[:password])
            json = {notice: 'Login success'}
         else
            json = {error: 'Error Username or Password'}
         end
   end
   render json: json, :callback => params[:callback]
end

所有函数都必须是个性化和参数化的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21500828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档