A API do Facebook Graph rejeita o token de acesso recém-criado
Hoje, o fluxo de login no Facebook de nosso aplicativo Web parou de funcionar para alguns usuários. Quando tentamos buscar o perfil atual, um erro é retornado. Ele afirma que o token de acesso que acabamos de gerar redirecionando o usuário para o fluxo de login do OAuth foi rejeitado.
A razão apresentada é:
O token de acesso é inválido, pois o usuário não envolve o aplicativo há mais de 90 dias
Para mim, isso não faz sentido, poisnós não armazene o token de acesso em qualquer lugar, exceto a sessão atual, e recrie-o sempre que o usuário fizer login no Facebook.
O stacktrace do Spring Social para oGET /me
chamada fica assim:
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)
O problema provavelmente está relacionado amudanças na API do Facebook, mas não vejo como isso afeta os tokens de acesso de curta duração que criamos em cada login.