我尝试搜索有关此主题的示例和答案,但似乎都更具体或与我的问题不完全相关。我是 Rails 的新手,也是一名中级 iOS 开发人员。我希望使用 Rails 作为后端来驱动基于用户登录的应用程序。我试图找到如何使用 AFHTTPClient 对设计进行身份验证的示例代码,但没有成功。我正在使用的 iOS 代码是:
- (IBAction)submitLogin:(id)sender {
NSString *username = usernameField.text;
NSString *password = passwordField.text;
[[AFTestClient sharedClient] setAuthorizationHeaderWithUsername:username password:password];
[[AFTestClient sharedClient] postPath:@"login/" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Success");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Failure");
}];
}
这是我在 Rails 中设置的控制器,其中 /login 与活动#login 匹配:
class ActivitiesController < ApplicationController
before_filter :authenticate_user!, :only => [:login, :index]
def login
@user = current_user
respond_to do |format|
format.html {render :text => "#{@user.id}"}
format.xml {render :text => "#{@user.id}" }
end
end
def index
@user = current_user
respond_to do |format|
format.html {render :text => "Current user is logged in."}
format.xml {render :text => "#{@user.id}" }
format.json
end
end
end
我知道我不需要身份验证的标准请求正在通过,但我假设身份验证标头没有被 Devise 或类似的东西识别。
任何响应将不胜感激,尤其是完成相同任务的类似代码的示例。
谢谢!