Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eiel/digest_sample
iOS で Digest認証するサンプル
https://github.com/eiel/digest_sample
Last synced: about 1 month ago
JSON representation
iOS で Digest認証するサンプル
- Host: GitHub
- URL: https://github.com/eiel/digest_sample
- Owner: eiel
- Created: 2013-03-19T16:51:50.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2023-12-15T20:22:58.000Z (about 1 year ago)
- Last Synced: 2023-12-15T22:15:35.867Z (about 1 year ago)
- Language: Objective-C
- Size: 22.5 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# これは何
Digest認証をするのに少しだけ楽する クラスを提供とそのサンプルです。
現在は [AFNetwoking](https://github.com/AFNetworking/AFNetworking) というライブラリのみに対応しています。
以下の感じに使います。
```Objective-C
// いろんな場所で使うのであればシングルトンつくって保持させておくとよいかもね
ALDigestAuthentication* auth =
[[ALDigestAuthentication alloc] initWithUsername:@"username"
andPassword:@"password"];// アクセス先設定
NSURL* url = [NSURL URLWithString:@"http://localhost:9292"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// 認証設定済みの AFHTTPRequestOperation を作成する
_operation = [auth httpRequestOperation:request];__block ALViewController *that = self;
[_operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
//成功時
that.responseLabel.text = operation.responseString;
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// 失敗時
that.responseLabel.text = @"error";
}];
[_operation start];
```ALDigestAuthentication クラスのインスタンスが 認証時の処理を追加済みの AFHTTPRequestOperation クラスのインスタンスを生成できます。
あとは AFHTTPRequestOperation を普段通り使用してください。# 試す方法
```
$ git clone --recursive [email protected]:eiel/Digest_Sample.git
```Server ディレクトリに動作確認用のサーバを起動する Ruby スクリプトがありますので、起動しておきます。
```
$ cd Server
$ bundle install
$ rackup
```とすると、ウェブサーバが立ち上がります。
URLは http://localhost:9292/ です。初期パスワードは password です。
ユーザ名は特に関係ありません。
認証に成功すると `hoge` と表示されます。あとはプロジェクトを開いて実行してください。
# 使い方
ALDigestAuthentication ディレクトリをプロジェクトに追加してください。
AFNetworking も追加していない場合は追加してください。