2010-06-24 2 views
0

Я видел некоторые подобные вопросы здесь, но не последние, поэтому я проверяю, не изменилось ли что-либо.base64 для базовой аутентификации в объекте-c

Я вижу, что didReceiveAuthenticationChallenge: отлично умеет делать base64-кодировку для базовой проверки подлинности, но сервер мне нужно отправить основной auth. Заголовок Authorization: to не возвращает HTTP401 и (предположим?) Не вызывают сообщение didReceiveAuthenticationChallenge: delegate для отправки, поэтому я не могу создать учетные данные там.

Так вместо этого, я использую

[urlRequestForMyWorkspace AddValue: @ "Basic" forHTTPHeaderField: @ "Authorization"];

перед вызовом initWithRequest:

Но - я не могу найти Objective-C API, который работает на Iphone, чтобы построить что base64 закодированный верительных от имени пользователя и ПВт (кроме написания одного, например, http://www.cocoadev.com/index.pl?BaseSixtyFour).

Итак - является то, что единственный путь, или есть какой-то другой способ, я могу сила HTTP-основной аутентификации учетных данных для передачи, используя стандартные интерфейсы - если сервер не возвращает 401, который является то, что Я принимаю причины didReceiveAuthnChallenge: отправляется?

спасибо, Richard

+0

OP здесь. Вопрос в самом деле не о base64 api, а о том, есть ли способ избежать меня с помощью одного, поскольку iphone четко знает, как это сделать :) – richard

+0

Худшее приходит к худшему, вы можете попробовать включить строку аутентификации в URL: например HTTP: // пользователь: пароль @ URL. –

ответ

0

Ну проблема на вашей стороне сервера кода, так как он не возвращает 401 =>didReceiveAuthenticationChallenge: delegate никогда не будет называться. Таким образом, вы вынуждены делать это таким образом (используя поля заголовка)

Смежные вопросы