Файл cookie не определен после перенаправления в мобильном Safari

0

У меня есть немного кода, который устанавливает файл cookie $userid а затем перенаправляется следующим образом:

$userid = $_GET['userid'];
setcookie('userid',$userid,time() + (864000 * 7), '/');

header("Location: https://coinbase.com/oauth/authorize?response_type=code&client_id=$clientid&redirect_uri=$redirecturi");

Это прекрасно работает. Если после его установки echo $_COOKIE['userid'], он отобразит идентификатор пользователя. Все идет нормально.

Переадресация - на страницу Coinbase OAuth, где пользователь должен войти в систему и разрешить моему сайту доступ к своему кошельку. После процесса Coinbase перенаправляет пользователя в $redirecturi, который является той же страницей, что и установленный код cookie.

Затем я использую $_COOKIE['userid'] чтобы определить, какой пользователь прошел процесс аутентификации и сохранил данные, полученные мной из Coinbase. Кроме того, я проверяю, установлен ли $_GET['code'], поэтому две части кода разделены (я не случайно устанавливаю $_GET['userid'] как cookie снова).

Примеры URL:

Местоположение сценария: http://example.com/dev/startcoinbase.php?userid=abcdef

URL для пользователя: http://example.com/dev/startcoinbase.php?userid=abcdef

Перенаправление с Coinbase: http://example.com/dev/startcoinbase.php?code=code

Очень странно, что мой код работает отлично, когда вы запускаете из UIwebview в приложении iOS, в Chrome и FF на рабочем столе, но просто не в мобильном браузере Safari (хотя в веб-браузере приложения используется тот же движок!),

Любая помощь будет принята с благодарностью!

Теги:
cookies
uiwebview
mobile-safari

1 ответ

1
Лучший ответ

Является ли домен И протокол http/https одинаковым? Файлы cookie для http://example.com и https://example.com могут быть разными.

Также будьте осторожны с субдоменами, возможно, sub.example.com cookie sub.example.com могут не отображаться на example.com.

Вы должны проверить (я думаю, что вы это сделали, но если нет, то делайте), если в Safari есть файлы cookie :)

  • 0
    Один домен был с www. с префиксом, а другой нет .. глупая ошибка, но спасибо за указание на это!
  • 0
    Нет проблем! Старайтесь всегда придерживаться одного домена, с www или non-www . Не смешивай это. Это имеет большое влияние на Google и SEO вещи :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню