Обратные вызовы OAuth в веб-приложениях для iPhone - PullRequest
14 голосов
/ 15 августа 2011

Я создаю полноэкранное оптимизированное для iPhone веб-приложение. Он запускается с домашней страницы как собственное приложение и ведет себя как автономное приложение с помощью следующей директивы, но это просто HTML / CSS / JavaScript, без PhoneGap.

<meta name="apple-mobile web-app-capable" content="yes" />

При попытке аутентификации через OAuth перенаправление на Twitter (или любого другого поставщика OAuth) выводит меня из полноэкранного веб-приложения в Mobile Safari. После завершения аутентификации Twitter перенаправление обратно в мое приложение не запускает приложение моей домашней страницы, а просто перенаправляет в Mobile Safari. Можно ли сделать OAuth в веб-приложении на домашней странице iPhone? Если не считать этого, могу ли я получить обратный вызов OAuth для повторного запуска веб-приложения моей домашней страницы?

Ответы [ 2 ]

15 голосов
/ 01 сентября 2011

У меня недавно была похожая проблема, и я обнаружил, что если вы установите URL в Javascript с помощью window.location.href="http://example.com/whatever", то iOS не переключится на Safari. Мне удалось заставить PayPal оформить заказ и войти в Facebook, работая в автономных веб-приложениях, не переходя на сафари с помощью этого метода! Если вы отправляете форму, сделайте это также через JS и получите URL-адрес перенаправления из ответа, затем укажите местоположение. Что касается возврата к вашему приложению впоследствии, это зависит от того, как работает внешний сервис.

Если это нехорошо, вы можете сделать всплывающее окно alert('You will be passed to Safari for authentication. Reload this app afterwards.'), прежде чем они перейдут на Safari. Не здорово, но лучше, чем удивлять их с помощью автоматического переключения приложений!

0 голосов
/ 12 сентября 2018

Я предполагаю, что у вас есть метатег "manifest" для ссылки на файл manifest.json.

Я предлагаю вам сделать следующее решение. Он отлично работает в веб-приложении ios safari:

https://stackoverflow.com/a/52286655/8390589

...