Как использовать базовую аутентификацию с getObject RestKit? - PullRequest
6 голосов
/ 17 сентября 2011

Я попробовал следующее, чтобы установить базовое имя пользователя и пароль для аутентификации, но, похоже, он не передает базовую аутентификацию в запросе.

secureManager = [[RKObjectManager objectManagerWithBaseURL:@"http://localhost:3000"] retain];

secureManager.client.username = uname;
secureManager.client.password = pwd;


RKObjectLoader *loader = [svc getObject:user delegate:self];

loader.userData = [NSNumber numberWithInt:RequestLogin];

ОБНОВЛЕНИЕ: обнаружил мою проблему, мне нужно былодобавить следующий фрагмент

secureManager.client.forceBasicAuthentication = YES;

1 Ответ

10 голосов
/ 17 сентября 2011

Вы можете получить экземпляр базового RKClient перед тем, как сделать запрос и установить имя пользователя и пароль следующим образом:

// Set the Username and Password
[RKObjectManager sharedManager].client.username = @"username"; 
[RKObjectManager sharedManager].client.password = @"letmein";

// Make our Request
[[RKObjectManager sharedManager] getObject:user mapResponseWith:mapping delegate:self];

Как указывает MonkeyBonkey в комментариях, вам может потребоваться принудительная аутентификацияиспользуя флаг:

[RKObjectManager sharedManager].client.forceBasicAuthentication = YES;
...