Jar*_*ner 3 iphone curl ruby-on-rails basic-authentication devise
对于这个认证业务,我是一个新手.所以我一直在寻找,但找不到任何直接的解决方案:
我使用Devise gem为用户身份验证和iPhone前端获得了Rails后端.我需要知道如何从iPhone创建用户.
我已经掌握了如何创建异步帖子的资源,但是我需要更好地理解HTTP身份验证的一般概念 - 例如,如果我使用Curl创建一个帖子来创建一个利用基本HTTP的用户身份验证,我将发送给'www.example.com/createuser'的curl命令是什么?
对于这个例子,我的Rails应用程序的用户模型属性是电子邮件和密码.
万分感谢您提供任何建议/资源链接.我非常感谢!
最好,贾里德
基本上这只是将正确的数据发布到用户创建路径(运行rake routes以查看设备正确安装后为您创建的所有路由).例如,我使用我的一个应用程序(使用命令行curl)执行此操作:
curl -H "Content-Type:application/json" -H "Accept:application/json" -d "{\"user\":{\"email\":\"jared@jared.com\", \"password\":\"super_secret_pass\", \"password_confirmation\":\"super_secret_pass\"}}" http://jared-dev/users
Run Code Online (Sandbox Code Playgroud)
..我回来了:
{"status":"signed_in"}
Run Code Online (Sandbox Code Playgroud)
..并且只是为了证实它有效:
irb(main):001:0> User.find_by_email('jared@jared.com')
=> #<User id: 2, email: "jared@jared.com", encrypted_password: "$2a$10$QMBAcpKjUwoC.pcRYt88a.vA0oq58jx0lagbgY298wjf...", password_salt: "$2a$10$QMBAcpKjUwoC.pcRYt88a.", reset_password_token: nil, remember_token: nil, remember_created_at: nil, sign_in_count: 1, current_sign_in_at: "2011-03-15 19:49:47", last_sign_in_at: "2011-03-15 19:49:47", current_sign_in_ip: "127.0.1.1", last_sign_in_ip: "127.0.1.1", authentication_token: "yW37HrKUigwvSEDmXaB4", created_at: "2011-03-15 19:49:47", updated_at: "2011-03-15 19:49:47">
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我发布了JSON数据,因为我认为它更容易阅读,但你也可以卷曲来做标准的formdata.根据这篇文章,我不得不修改我的应用程序控制器以支持JSON for auth .
当使用libcurl easy接口时CURLOPT_HTTPHEADER,这些命令行选项对应于,CURLOPT_POST并CURLOPT_POSTFIELDS通过curl_easy_setopt设置.
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
1092 次 |
| 最近记录: |