私はこれについてかなり長い間調査を行ってきましたが、私の問題を解決できなかったので、質問したいと思います. ここでスタックオーバーフローや他の記事で他の質問を検索しましたが、正しい方向に進んでいないようです。
これが私がやろうとしていることです。JSON 形式のデータのみを提供する Rails 3 アプリケーションがあります。データは 1 人のユーザーのみが入力するため、アクセスは非常に制限されます。認証によって保護されるようにDeviseを使用しています。
このデータにアクセスする iPhone アプリケーションもあります。Rails 3 アプリケーションにはユーザー名とパスワードによる保護があるため、iPhone アプリケーションにはアプリケーションで認証する方法が必要です。
Devise でトークン認証を調べましたが、機能しないようです。ローディング シンボルがありますが、回転するだけでデータが返されません。http基本認証も調べました。繰り返しますが、運がありませんでした。iPhone 側では ASIHTTPRequest を使用しています。以下は、認証トークンを介して投稿するために使用しているものです。
//the url variable below is defined in my code but I did not paste that part
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"auth token" forKey:@"authenticity_token"];
[request addRequestHeader:@"Content-Type" value:@"application/json"];
[request setDelegate:self];
[request startAsynchronous];
http基本認証を試したときに、ユーザー名とパスワードを渡しましたが、同じ問題でうまく機能せず、データが返されませんでした。何かが欠けていると確信していますが、これを機能させるために必要な情報が見つかりません。RestKit を見てみましたが、必要以上に多くの機能があるようです。
Rails 3側で保護されているJSONデータにアクセスするには、iPhoneアプリケーションのみが必要です。iPhone ユーザーは、サインイン フォームからサインインする必要がなく、データを作成、更新、または削除することもできません。厳密には読み取り専用です。誰かが私を正しい方向に押し進めることができますか?