base64 для базовой аутентификации в target-c - PullRequest
0 голосов
/ 24 июня 2010

Я видел некоторые подобные вопросы здесь, на SO, но не один недавно - поэтому я проверяю, чтобы увидеть, если что-то изменилось.

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

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

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

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

Но - я не могу найти API-файл target-c, который работает на iphone для создания этих закодированных в base64 учетных данных из имени пользователя и pw (кроме записи одного, например http://www.cocoadev.com/index.pl?BaseSixtyFour).

Итак - это единственный способ, или есть какой-то другой способ, которым я могу заставить базовые учетные данные http для проверки подлинности отправлять с использованием стандартного API - если сервер не возвращает 401, то, что я Предполагая, что причины didReceiveAuthnChallenge: будут отправлены?

спасибо, Ричард

1 Ответ

0 голосов
/ 26 августа 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...