2017-05-23 2 views
0

Nicht ganz sicher, warum dies geschieht ... finden Sie in diesem Screenshot: oauth2_token_obtained_debugFeder Sicherheit oauth2 Token ist leer

In GsonHttpMessageConverter.java:197, Verfahren writeInternal, kann ich das OAuth2 Token worden sehen erstellt und wird ausgemustert. Die Antwort, die ich bekomme, ist jedoch ein leerer JSON-Text {}. Die Datenbank hat das korrekte Token in der Tabelle oauth_access_token. Ich verstehe es einfach nicht in der Antwort.

fand ich ein ähnliches Problem auf dem Netz, aber keine Antworten auf diese Frage: https://github.com/royclarkson/spring-rest-service-oauth/issues/49

Es scheint, dass Gson nichts mit dem Output schreibt. Irgendwelche Ideen?

Antwort

0

Ich bin immer noch nicht in der Lage, Gson mit OAuth2 zu verwenden, der Antworttextkörper ist leer.

Was ich getan habe, war, gson aus meinen Abhängigkeiten zu entfernen und Jackson 2.8.8 hinzuzufügen. Es funktioniert jetzt und ich bekomme die richtige JSon Antwort.

Ich bin mir nicht sicher, warum Gson nichts tut. Der Code, der nicht funktioniert, ist GsonHttpMessageConverter: 197

@Override 
protected void writeInternal(Object o, Type type, HttpOutputMessage outputMessage) 
     throws IOException, HttpMessageNotWritableException { 

    Charset charset = getCharset(outputMessage.getHeaders()); 
    OutputStreamWriter writer = new OutputStreamWriter(outputMessage.getBody(), charset); 
    try { 
     if (this.jsonPrefix != null) { 
      writer.append(this.jsonPrefix); 
     } 
     if (type != null) { 
      this.gson.toJson(o, type, writer); // <-- this line DOES NOT write "o" of type DefaultOAuth2AccessToken to the OutputStreamWriter 
     } 
     else { 
      this.gson.toJson(o, writer); 
     } 
     writer.close(); 
    } 
    catch (JsonIOException ex) { 
     throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex); 
    } 
} 
Verwandte Themen