Devise_Token_Auth для Facebook останавливает процедуру только из доступа iOS

  • Среды
  • Внешний интерфейс

Кордова 7.1.0

Платформа iOS 4.5.4 / Android 6.4.0

Плагин cordova-plugin-facebook4 2.3.0 / cordova-plugin-inappbrowser 3.0.0

  • Backend

Ruby on Rails 5.1

размещенный в Heroku

Gem Devise_Token_Auth / omniauth-facebook

  • Что происходит

При использовании приложения Cordova с устройством Android вход через Facebook omniauth работает корректно, но с iOS (как на симуляторе, так и на реальном устройстве iPhone 8) - нет. Согласно журналам Heroku, процедура аутентификации devise_token_auth останавливается после "Инициированной фазы запроса", не обращаясь к фазе обратного вызова. Ниже приведены журналы Heroku с доступом с симулятора iOS, iPhone 8, Android 5.0.

  • Heroku бревна

  • iOS симулятор

2018-08-18T00:54:11.596759+00:00 heroku[router]: at=info method=GET path="/auth/facebook? Omniauth_window_type=inAppBrowser" host=xxx.herokuapp.com request_id=9cad4109-a591-42c9-9572-ba29c8d6d826 fwd= "xxx.xxx.xxx.xxx" dyno=web.1 connect= служба 1 мс = состояние 4 мс = 301 байт = протокол 1521 =https 2018-08-18T00:54:11.771955+00:00 герой [router]: at=info method=GET path="/omniauth/facebook?omniauth_window_type=inAppBrowser&resource_class=User" host=xxx.herokuapp.com request_id=d73d25d5-1284-4394-981e-d2095b77a272 fwd= "xxx.xxx.xxx. xxx "dyno = web.1 connect = служба 1 мс = статус 9 мс = 302 байта = протокол 2534 =https 2018-08-18T00:54:11.597006+00:00 app[web.1]: [9cad4109-a591-42c9-9572-ba29c8d6d826] Запущено GET "/auth/facebook?omniauth_window_type=inAppBrowser" для xxx.xxx.xxx.xxx в 2018-08-18 00:54:11 +0000 2018-08-18T00:54:11.767403+00:00 приложение [web.1]: [d73d25d5-1284-4394-981e-d2095b77a272] Запущен GET "/omniauth/facebook?omniauth_window_type=inAppBrowser&resource_class=User" для xxx.xxx.xxx.xxx в 2018 году -08-18 00:54:11 +0000 2018-08-18T00:54:11.768446+00:00 app[web.1]: I, [2018-08-18T00:54:11.768358 #4] ИНФОРМАЦИЯ - omniauth: (facebook) Запущена фаза запроса.

  • iPhone 8 (реальное устройство)

2018-08-18T00: 58: 43.283425 + 00: 00 heroku [router]: at = info method = GET path = "/ auth / facebook? Omniauth_window_type=inAppBrowser" host=xxx.herokuapp.com request_id=0ad6aa4c-2665-4cf8-9ef3-d2ca6c2a7ec8 fwd= "xxx.xxx.xxx.xxx" dyno=web.1 connect= служба 0 мс = состояние 2 мс = 301 байт = протокол 1245 =https 2018-08-18T00:58:43.473098+00:00 герой [router]: at=info method=GET path="/omniauth/facebook?omniauth_window_type=inAppBrowser&resource_class=User" host=xxx.herokuapp.com request_id=21ab1809-7fed-458b-8a66-c2f1d0795949 fwd= "xxx.xxx.xx. xxx "dyno = web.1 connect = служба 0ms = статус 4ms = 302 байта = протокол 2198 =https 2018-08-18T00:58:43.282836+00:00 app[web.1]: [0ad6aa4c-2665-4cf8-9ef3-d2ca6c2a7ec8] Запущено GET "/auth/facebook?omniauth_window_type=inAppBrowser" для xxx.xxx.xxx.xxx в 2018-08-18 00:58:43 +0000 2018-08-18T00:58:43.471013+00:00 app[web.1]: [21ab1809-7fed-458b-8a66-c2f1d0795949] Запущен GET "/omniauth/facebook?omniauth_window_type=inAppBrowser&resource_class=User" для xxx.xxx.xxx.xxx в 2018 году -08-18 00:58:43 +0000 2018-08-18T00:58:43.471614+00:00 app[web.1]: I, [2018-08-18T00:58:43.471537 #4] ИНФОРМАЦИЯ - omniauth: (facebook) Запущена фаза запроса.

  • Android 5.0

2018-08-18T00: 59: 54.701953 + 00: 00 heroku [router]: at = info method = GET path = "/ auth / facebook? Omniauth_window_type=inAppBrowser" host=xxx.herokuapp.com request_id=c8deb996-f597-4f08-97a5-7d1e5fe72214 fwd= "xxx.xxx.xxx.xxx" dyno=web.1 connect= служба 1 мс = состояние 3 мс = 301 байт = протокол 1425 =https 2018-08-18T00:59:54.701345+00:00 app[web.1]: [c8deb996-f597-4f08-97a5-7d1e5fe72214] Запущен GET "/auth/facebook?omniauth_window_type=inAppBrowser" для xxx.xxx.xxx.xxx в 2018-08-18 00:59:54 +0000 2018-08-18T00:59:54.906782+ приложение 00: 00 [web.1]: [d4f20abb-682a-45b8-a461-80692f94ea4a] Запущен GET "/ omniauth / facebook? Omniauth_window_type = inAppBrowser & resource_class = User" для xxx.xxx.xx.xxx в 2018-08-18 00:59:54 +0000 2018-08-18T00:59:54.907554+00:00 app[web.1]: I, [2018-08-18T00:59:54.907482 #4] ИНФОРМАЦИЯ - omniauth: (facebook) Фаза запроса начата. 2018-08-18T00:59:54.909871+00:00 heroku[маршрутизатор]: at = информационный метод = GET path = "/ omniauth / facebook? Omniauth_window_type = inAppBrowser & resource_class = User" хозяйничать =xxx.herokuapp.com request_id=d4f20abb-682a-45b8-a461-80692f94ea4a fwd= "xxx.xx.xxx.xxx" dyno=web.1 connect=1ms service= статус 6ms = 302 байта = 2378 протоколов =https 2018-08-18T00:59:55.671990+00:00 app[web.1]: [dad4c315-29c3-48fd-b56b-20fe5873d890] Запущен GET "/omniauth/facebook/callback? Code=AQBxxxOzW&state=d13xxx5c2" для xxx.xxx.xxx.xxx в 2018-08-18 00:59:55 +0000 2018-08-18T00:59:55.672719+00:00 app[web.1]: I, [2018-08-18T00:59:55.672649 #4] INFO -- omniauth: (facebook) Начата фаза обратного вызова. 2018-08-18T00:59:56.035908+00:00 heroku[роутер]: at = информационный метод =GET path="/omniauth/facebook/callback? Code=AQBxxxOzW&state=d13xxx5c2" host=xxx.herokuapp.com request_id=dad4c315-29c3-48fd-b56b-20fe5873d890 fwd= "xxx.xxx.xxx.xxx" dyno=web.1 connect= служба 1ms = 367 мс = 302 байта = 4331 протокол =https 2018-08-18T00:59:56.034350+00:00 app[web.1]: [dad4c315-29c3-48fd-b56b-20fe5873d890] Обработка пользователями:: OmniauthCallbacksController # redirect_callbacks as / 2018-08-18T00: 59: 56.034395 + 00: 00 app [web.1]: [dad4c315-29c3-48fd-b56b-20fe5873d890] Параметры: {"code"=>"AQBxxxOzW", "state"=>"d13xxx5c2", "provider"=>"facebook", "omniauth_callback"=>{}} 2018-08-18T00:59:56.035383+00:00 приложение [web.1]: [dad4c315-29c3-48fd-b56b-20fe5873d890] Перенаправлено на https://xxx.herokuapp.com/auth/facebook/callback 2018-08 -18T00: 59: 56.035545 + 00: 00 app [web.1]: [dad4c315-29c3-48fd-b56b-20fe5873d890] Завершено 302 Найдено в 1 мс (ActiveRecord: 0,0 мс) 2018-08-18T00:59:56.231050+00:00 app[web.1]: [31969239-5b84-4b6f-b01a-3af89a0908f4] Запустил GET "/auth/facebook/callback" для xxx.xxx.xxx.xxx в 2018-08-18 00:59:56 +0000 2018-08-18T00:59:56.233725+00:00 app[web.1]: [31969239-5b84-4b6f-b01a-3af89a0908f4] Обработка пользователями:: OmniauthCallbacksController # omniauth_success as / 2018-08-18T00: 59: 56.233787 + 00: 00 app [web.1]: [31969239-5b84-4b6f -b01a-3af89a0908f4] Параметры: {"provider"=>"facebook", "omniauth_callback"=>{}} 2018-08-18T00:59:56.238353+00:00 app[web.1]: [31969239-5b84-4b6f-b01a-3af89a0908f4] [1m[36mUser Load (1.7ms)[0m [1m[34mSELECT "users".* FROM "users" WHERE "users"."Uid" = $1 AND "users"."Provider" = $2 ORDER BY "users"."Id" ASC LIMIT $3[0m [["uid", "xxx"], ["provider", "facebook"], ["LIMIT", 1]] 2018-08-18T00:59:56.317092+00:00 app[web.1]: [31969239-5b84-4b6f-b01a-3af89a0908f4] [1m[36mUser Load (1.6ms)[0m [1m[34mS ВЫБРАТЬ "users". * ИЗ "пользователей" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2[0m [["id", 6], ["LIMIT", 1]] 2018-08-18T00:59:56.318728+00:00 app[web.1]: [31969239-5b84-4b6f-b01a-3af89a0908f4] [1 м [35 м (1,0 мс) [0 м [1 м [35 м BEGIN[0 м 2018-08-18T00:59:56.322497+00:00) app[web.1]: [31969239-5b84-4b6f-b01a-3af89a0908f4] [1m[35mSQL (1.2ms)[0m [1m[33mUPDATE "пользователей" SET "токены" = $1, "updated_at" = $2 ГДЕ "пользователи". "Id" = $3[0m [["токены", "{\" ххх \":{\" токен \":\" ххх",\"истечение \":1535924506},\" ххх \":{\" токен \":\" ххх "\" истечение \":1535925057},\" ххх \":{\" токен \":\" ххх",\"истечение \":1535960345},\" ххх \":{\" токен \":\" ххх" \ "истечение \":1536114062},\"ххх \":{\" токен \": \"ххх",\"истечение \":1539203920},\"ххх \":{\" токен \":\”Xxx",\"expiry\":1542502796}}"], ["updated_at", "2018-08-18 00:59:56.319675"], ["id", 6]] 2018-08-18T00:59:56.325108+00:00 app[web.1]: [31969239-5b84-4b6f-b01a-3af89a0908f4] [1 м [35 м (1,9 мс) [0 м [1 м [35 м COMMIT] [0 м 2018-08-18T00: 59: 56,325934 Приложение +00: 00 [web.1]: [31969239-5b84-4b6f-b01a-3af89a0908f4] Выполнено 200 OK за 92 мс (Просмотров: 0,3 мс | ActiveRecord: 7,4 мс) 2018-08-18T00:59:56.325864+00:00 heroku[роутер]: at = информационный метод =GET path="/auth/facebook/callback" host=xxx.herokuapp.com request_id=31969239-5b84-4b6f-b01a-3af89a0908f4 fwd= "xxx.xxx.xxx.xxx" dyno=web.1 connect= служба 1 мс = состояние 98 мс = 200 байт = 1441 протокол =https 2018-08-18T00:59:56.657248+00: Приложение 00 [web.1]: [895a6d7d-3578-4af0-94c4-1107b5e456c7] Запущен GET "/api/v1/auth/validate_token" для xxx.xxx.xxx.xxx в 2018-08-18 00:59:56 +0000 2018-08-18T00:59:56.659013+00:00 app[web.1]: [895a6d7d-3578-4af0-94c4-1107b5e456c7] Обработка DeviseTokenAuth::TokenValidationsController#validate_token как JSON 2018-08-18T00:59:56.659045+00:00 app[web.1]: [895a6d7d-3578-4af0-94c4-1107b5e456c7] Параметры: {"token_validation"=>{}} 2018-08-18T00:59:56.662423+00:00 app[web.1]: [895a6d7d-3578-4af0-94c4-1107b5e456c7] [1m[36mUser Load (1.4ms)[0m [1m[34mSELECT "users".* ИЗ "пользователей" ГДЕ "users"."uid" = $1 LIMIT $2[0m [["uid", "xxx"], ["LIMIT", 1]] 2018-08-18T00:59:56.746803+00:00 app[web.1]: [895a6d7d-3578-4af0-94c4-1107b5e456c7] [1m[36mUser Load (1.5ms)[0m [1m[34mSELECT "users".* ИЗ "пользователей", ГДЕ "users"."id" = $1 LIMIT $2[0m [[id], 6], ["LIMIT", 1]] 2018-08-18T00:59:56.747464+00:00 app[web.1]: [895a6d7d-3578-4af0-94c4-1107b5e456c7] Выполнено 200 OK за 88мс (просмотров: 0.3мс | ActiveRecord: 2,9 мс) 2018-08-18T00:59:56.747396+00:00 heroku[маршрутизатор]: метод at = info =GET path="/api/v1/auth/validate_token" host=xxx.herokuapp.com request_id=895a6d7d-3578-4af0-94c4-1107b5e456c7 fwd= "xxx.xxx.xxx.xxx" dyno=web.1 connect= услуга 1ms = состояние 93ms = 304 байта = протокол 1363 = протокол https

Заранее спасибо.

0 ответов

Другие вопросы по тегам