Uygulamamda Spring Social'ı kullanmaya çalışıyorum ve orijinal 'OAuth2' durum parametresinin her zaman uygulamanızda geçersiz olduğunu belirlerken farkettim.Orijinal 'OAuth2' durum parametresinin org.springframework.social.connect.web.ConnectSupport öğesinde null olması ne olabilir?
altınaorg.springframework.social.connect.web.ConnectSupport
için
bakınız Bahar Sosyal kaynak kodu:
private void verifyStateParameter(NativeWebRequest request) {
String state = request.getParameter("state");
String originalState = extractCachedOAuth2State(request);//Always null...
if (state == null || !state.equals(originalState)) {
throw new IllegalStateException("The OAuth2 'state' parameter is missing or doesn't match.");
}
}
private String extractCachedOAuth2State(WebRequest request) {
String state = (String) sessionStrategy.getAttribute(request, OAUTH2_STATE_ATTRIBUTE);
sessionStrategy.removeAttribute(request, OAUTH2_STATE_ATTRIBUTE);
return state;
}
kimse yardım eder misiniz?
düzenlemek:
Request URL:https://www.facebook.com/v2.5/dialog/oauth?client_id=414113641982912&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fconnect%2Ffacebook&scope=public_profile&state=0b7a97b5-b8d1-4f97-9b60-e3242c9c7eb9
Request Method:GET
Status Code:302
Remote Address:179.60.192.36:443
düzenlemek 2: Ben devlet parametre facebook tarafından geri geçirilen görüyorum
Exception while handling OAuth2 callback (The OAuth2 'state' parameter is missing or doesn't match.). Redirecting to facebook connection status page.
Hem üstbilgiyi hem de özel oturum stratejilerini tutmalı mıyım? Aynı konuyla yüzleşiyorum. – gschambial