Где-то в течение последних нескольких недель вызов авторизации Facebook в iOS завершился неудачно с сообщением «Страница не найдена». Это происходит с любым пользователем, который не установил приложение, или если разрешения приложения изменились, и пользователь должен утвердить дополнительные разрешения. Это происходит независимо от того, обрабатывает ли приложение Facebook аутентификацию пользователя, Safari или всплывающее диалоговое окно. Все перенаправляют на страницу «Страница не найдена».
Покопавшись в отладчике, я обнаружил, что исходный URL-запрос (идентификатор приложения заменяет «[app_id]») для экрана входа в систему:
https://m.facebook.com/dialog/oauth?type= user_agent & display = touch & redirect_uri = fb [app_id]% 3A% 2F% 2Fauthorize & sdk = 2 & scope = user_location% 2Cuser_relationships% 2Cemail% 2Cpublish_stream% 2Coffline_access & client_id = [app_id]
Я предполагаю, что следующий URL-адрес ищет у пользователя недостаточно прав):
http://www.facebook.com/dialog/permissions.request?_path=permissions.request&app_id= [appid] & redirect_uri = fb [appid]% 3A% 3F% 3Fauthorize & sdk = 2 & display = touch & type = user_agent & fbconnect = 1 & perms = user_location% 2Cuser_relationships% 2Cemail% 2Cpublish_stream% 2Coffline_access & sso = iphone-safari & from_login = 1
Я проверил, что идентификатор пакета, указанный в Xcode, совпадает с указанным в настройках моего приложения Facebook.
Поскольку страница разрешений не отображается, новые пользователи не могут добавить приложение. Старые версии моего приложения, которые раньше работали, тоже не работают. В чем может быть проблема?