2012-04-23 2 views
1

Я пытаюсь сделать базовую систему аутентификации в iOS, которая отправляет POST на Django и на стороне Django, аутентифицирует пользователя и запускает сеанс. Прямо сейчас я могу отправить информацию о пользователе, передав значения как данные в URL-адресе и проверив его, но как получить данные сеанса или файл cookie из ответа Django? Когда я пытаюсь сохранить или распечатать файл cookie, он сообщает мне, что массив пуст. Я пробовал как request.requestCookies, так и request.responseCookies.Использование аутентификации пользователя/сеансов с Django и ASIHttpRequest

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"test_user", @"username", @"pass", @"password", nil]; 

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://127.0.0.1:8000/login/"]]; 

NSError *error; 
NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:0 error:&error]; 

if (error) { 
    NSLog(@"ERROR - %@", error.localizedDescription); 
} else { 
    __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
    [request addRequestHeader: @"Content-Type" value:@"application/json; charset=utf-8"]; 
    [request appendPostData:data]; 
    [request setRequestMethod:@"POST"]; 

    [request setCompletionBlock:^{ 

     UIAlertView *alerView = [[UIAlertView alloc] initWithTitle:@"Login" 
                  message:@"Login was sent" 
                  delegate:nil 
               cancelButtonTitle:nil 
               otherButtonTitles:@"Ok", nil]; 
     [alerView performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:NO]; 

     NSLog(@"RESPONSE: %@", [[NSString alloc] initWithData:request.responseData encoding:NSUTF8StringEncoding]);//, [request.requestCookies objectAtIndex:0]); 
     NSLog(@"COOKIE: %@", [request.requestCookies objectAtIndex:0]); 
     [ASIHTTPRequest addSessionCookie:[request.requestCookies objectAtIndex:0]]; 

    }]; 

ответ

0

Хорошо, так что я решил этот вопрос, и оказывается, что на стороне сервера, я помещал в данных, но официально не войдя с Django (не возвращал соответствующий куки), который означает, что мое приложение не было получая правильный заголовок.

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