我想给 ruby-china 做一个 iOS 客户端。我是使用了 intridea 做的 grape https://github.com/intridea/grape 这个 gem 来构建 API 支持的,由于 ruby-china 是使用了 devise 1.5.2 https://github.com/plataformatec/devise 这个 gem 来做用户注册和登录验证的,感觉它封装很厉害,或者我没有搞懂,我都动都动不了啊。
现在我怎么样将 devise 的验证支持加到 api 中去呢?
我了解到 Devise 对 http header basic auth 和 token_authentication_key 都是支持的,介但是 ruby-china 的 devise 配置文件中是没有开启的,虽然代码注释中是打开的。
http://ruby-china.org/topics/612
这是我提交的一点代码,对其中的空的方法寻求帮助。
https://github.com/qichunren/ruby-china/commit/b7bb58b7f7d6191aac922b3c80fd8b1b494e9f24
这是测试验证的代码:
require "rubygems"
require 'active_support'
require 'net/http'
Net::HTTP.start('localhost', 3001) {|http|
basic = { "HTTP_AUTHORIZATION" => "Basic #{ActiveSupport::Base64.encode64("your_login_id:your_password")}" }
req = Net::HTTP::Get.new('/api/v1/users/me')
#req.basic_auth 'login_id', 'password'
response = http.request(req)
print response.body
}