#php #facebook #sdk
#php #Facebook #sdk
Вопрос:
Я не совсем уверен, правильно ли я выполняю аутентификацию, поэтому я прошу здесь подтвердить мой процесс.
Проверьте, аутентифицирован ли пользователь, если нет, переходите к следующему шагу.
-
Перенаправить пользователя на:https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_IDamp;redirect_uri=YOUR_URL
-
При перенаправлении я беру $ _REQUEST[‘code’] и повторно выдаю егоhttps://graph.facebook.com/oauth/access_token ?client_id=YOUR_APP_ID amp;redirect_uri =YOUR_URLamp;client_secret=YOUR_APP_SECRET amp;code =THE_CODE_FROM_ABOVE для получения токена доступа.
-
Я получаю токен доступа, сохраняю его в своем сеансе, пользователь теперь аутентифицирован, и я перенаправляю их обратно на целевую страницу моего приложения.
Все работает нормально, но, похоже, просто в моем приложении происходит слишком много перенаправлений. Другие приложения, похоже, просто перенаправляют вас прямо в свое приложение, не проходя шаг 1 (те, которые уже добавили приложение).
Мне интересно, используют ли другие разрешение «offline_access» и используют ли это как способ обойти получение «кода» для получения процедуры «access_token».
Ответ №1:
Правильно. С помощью offline_access
вы можете сохранять access_token
на неопределенный срок и избежать необходимости проходить через этот поток снова. Если вы попытаетесь использовать его и получите исключение OAuthException, вам следует отказаться от сохраненного токена доступа. Вот сколько приложений пропускают эти шаги аутентификации для проверки учетной записи. Одним из основных недостатков запроса offline_access
является то, что он может выглядеть плохо для пользователя.
Комментарии:
1. есть ли какой-либо способ получить $ _REQUEST[‘code’] через graph api? я хочу сделать все это вручную, не перенаправляя пользователей на: facebook.com/dialog /…