私はこのテーマに関する例と回答を検索しようとしましたが、すべてがより具体的であるか、私の問題に正確に関連していないようでした。私はRailsと中級のiOS開発者にはかなり慣れていません。Railsをバックエンドとして使用して、ユーザーログインベースのアプリを駆動したいと考えています。AFHTTPClientを使用してdeviseで認証する方法のサンプルコードを見つけようとしましたが、成功しませんでした。私が使用している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がactivitys#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などによって認識されていないと想定しています。
どんな回答でも、特に同じタスクを実行する同様のコードの例をいただければ幸いです。
ありがとう!