ネットワークに AFNetworking を使用するアプリケーションがあります。私が話しているサービスは、認証に Basic Auth を使用しています。したがって、私のクライアントでは、 setAuthorizationHeaderWithUsername:password: メソッドを使用してユーザー名とパスワードを設定すると、すべて正常に動作します。
ここで、「ブラウザで開く」ボタンをアプリに追加する必要があります。しかし、URL を呼び出すと、iPhone/iPad の Safari はユーザーに再度ログインを要求します。
デフォルトの Cookie ストアにログインするときに取得する Cookie を設定できる解決策はありますか?
これまでに試したことは次のとおりです。
NSString* authorization = [client defaultValueForHeader:@"Authorization"];
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
[cookieProperties setObject:@"myCookie" forKey:NSHTTPCookieName];
[cookieProperties setObject:authorization forKey:NSHTTPCookieValue];
[cookieProperties setObject:@"www.the.server" forKey:NSHTTPCookieDomain];
[cookieProperties setObject:@"www.the.server" forKey:NSHTTPCookieOriginURL];
[cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];
[cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:2629743] forKey:NSHTTPCookieExpires];
NSHTTPCookie* cookie = [[NSHTTPCookie alloc] initWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
これにより Cookie が生成されますが、iPhone/iPad の Safari で URL を開くと機能しません
それを処理する AFNetworking の API 呼び出しはありますか? または、自分で手動で行う方法はありますか?
助けてくれてありがとう