Прежде чем я решу проблему в своем приложении, я не требую явного разрешения. Но сегодня утром неожиданно возникла эта проблема. Итак, я нашел пример кода GitHub для входа в Facebook. Я нашел отличную часть от моего кода и пример кода, который требует разрешения. Наконец я решаю проблему в своем приложении. Поэтому я думаю, что раньше SDK Facebook поддерживает разрешение по умолчанию, но сегодня оно было изменено.

сегодня поток входа в Facebook нашего веб-приложения перестал работать для некоторых пользователей. Когда мы пытаемся получить текущий профиль, возвращается ошибка. Он утверждает, что токен доступа, который мы только что сгенерировали путем перенаправления пользователя в поток входа OAuth, был отклонен.

Причина, приведенная ниже:

Токен доступа недействителен, так как пользователь не использовал приложение более 90 дней

Для меня это не имеет смысла, так какмы - нет хранить токен доступа в любом месте, кроме текущего сеанса, и пересоздавать его каждый раз, когда пользователь входит в систему с Facebook.

Трассировка стека от Spring Social дляGET /me звонок выглядит так:

ERR c.s.f.v.resource.AuthenticationResource Exception when connecting with Facebook
org.springframework.social.RevokedAuthorizationException: The authorization has been revoked. Reason: The access token is invalid since the user hasn't engaged the app in longer than 90 days.
        at org.springframework.social.facebook.api.impl.FacebookErrorHandler.handleFacebookError(FacebookErrorHandler.java:85)
        at org.springframework.social.facebook.api.impl.FacebookErrorHandler.handleError(FacebookErrorHandler.java:59)
        at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63)
        at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:775)
        at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:728)
        at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:702)
        at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:350)
        at org.springframework.social.facebook.api.impl.FacebookTemplate.fetchObject(FacebookTemplate.java:220)
        at org.springframework.social.facebook.api.impl.FacebookTemplate.fetchObject(FacebookTemplate.java:215)

Проблема, вероятно, связана сизменения в API Facebook, но я не вижу, как это влияет на краткосрочные токены доступа, которые мы создаем при каждом входе в систему.

Ответы на вопрос(7)

Ваш ответ на вопрос