2015-10-26 3 views
0

Я пытаюсь войти в Instagram и одобрить мое приложение в своем приложении OS X, открыв веб-представление в своем приложении OS X. Я пробовал как удалять все файлы cookie , так и, используя приватный просмотр независимо друг от друга. Я не перехватываю запросы/ответы. Во-первых, когда я пытаюсь открыть URL аутентификации, я получаю следующее (и правильно) страницу как в моем приложении, и в Safari:Почему WebView отличается от Safari (частный просмотр)?

enter image description here

Однако, когда я ввожу свой логин и пароль, если Safari, мой Открывается учетная запись Instagram, правильно перенаправляется на приложение, например он входит в систему Когда я ввожу свои (очевидно, то же самое) учетные данные в моем приложении и нажмите Войти, я переведен обратно в том же экране в переадресовывающем цикле примерно в 10 раз:.

https://instagram.com/accounts/login/?force_classic_login=&next=/oauth/authorize/%3Fclient_id%3DMY_CLIENT_ID_REMOVED_FOR_SECURITY%26redirect_uri%3Dhttp%3A//my.redirect.url.removed.for.security%26response_type%3Dcode

Если я попытаюсь посетить этот URL-адрес в Safari, я перейду на экран входа в систему (если не войти в систему), и после этого я перенаправляюсь к правильному URL-адресу.

Я попытался ввод недействительны, я получаю другую ошибку, так что это не проблема неправильно имя пользователя/пароля:

enter image description here

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

Почему я не могу войти в Instagram на веб-сайте Cocoa, пока я прекрасно могу в Safari? Я нахожусь в последней версии OS X 10.11.1 и Safari 9.0.1.

ответ

0

Это был, очевидно, ошибка с собственным печеньем Instagram, который требуется сбросить хранилище печенья внутри печенье контейнера приложения, что я забыл, чтобы очистить (я очистил Сафари, но он отличается от контейнера приложения).

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

NSHTTPCookieStorage *jar = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
NSArray *cookies = jar.cookies; 
for (NSHTTPCookie *cookie in cookies) { 
    [jar deleteCookie:cookie]; 
} 

Я вызван этот код и проблема ушла.

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