Ich wollte auf mein Back-End mit Android-Handy zugreifen. In diesem Moment möchte ich zwei Dinge tun:So senden/POST JWT-Token von Android zu Laravel Backend
- Einloggen die Mob App nach der Authentifizierung aus dem Back-End.
- Daten zum Back-End hochladen (Back-End ist PHP mit Laravel Framework).
i erste E-Mail und Passwort an das Backend senden und wieder eine Antwort von JWT
Token wie gezeigt bekommen:
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjEsImlzcyI6Imh0dHA6XC9cLzE5Mi4xNjguMS4xMDI6ODAwMFwvYXBpXC92M1wvYXV0aGVudGljYXRlIiwiaWF0IjoxNDY2MDA5OTY3LCJleHAiOjE0NjYwMTM1NjcsImp0aSI6IjZjYjBlMTRjYTNkMjAzM2Q4OWM0NzM1M2ZjNjMzZTU2In0.GJGUjgy8U-uqjLSqJcysDTmgrNvxBHH03iBflLjsOwA"
Sobald die oben Token an die zurück mob app, ich möchte dasselbe zurückgegebene token für eine weitere post-anfrage senden, da das oben genannte jwt token mein schlüssel für den Zugriff auf das back-end ist.
Also liegt mein Problem darin, das gleiche Token zurück zum Back-End zu senden. es scheint einfach und strikt vorwärts, da ich bereits begonnen habe, mit meinem Backend zu kommunizieren, und ich habe auch meine Antwort überprüft, indem ich Postmann benutzte.
und ich kann bekam auch den Benutzer cridential die jwt Token auf Postbote mit.
jetzt das gleiche Token, das auf Postbote arbeitet funktioniert nicht für mein Android. Ich weiß, dass mein httpClient und mein httpPost funktionieren, da ich die E-Mail und das Passwort bereits gesendet habe. Ich weiß auch, dass meine Android-Post-Anfrage den Server erreicht, da mein zurückgegebenes Ergebnis mit einer Fehlermeldung, die ich für eine akzeptierte Token-Anfrage erstellt habe, kommt, wie unten gezeigt.
, wie Sie aus der obigen Momentaufnahme zu sehen. Ich erhalte das Token zuerst in einem Zitat (zuerst hervorgehoben), wenn es zur Authentifizierung gepostet wird. also entfernte ich das angebot und postete das gleiche token, um user crilential zu bekommen, aber diesmal bekam ich eine fehlerantwort, die ich auf dem back-end aufgebaut habe.
deshalb denke ich, dass mein Token nicht ordnungsgemäß zum Server geht. aber ich konnte das Problem nicht beheben. aber ich denke, die Token-Größe ist groß, mit einer Länge von 490. Also wie soll ich mein Token mit der httpPost Anfrage anhängen?
public String getJsonString2(String url, String jwtString) {
String jsonString = "";
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
List nameValuePair = new ArrayList(1);
nameValuePair.add(new BasicNameValuePair("token", jwtString));
try {
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
}
catch (UnsupportedEncodingException e) {
// writing error to Log
e.printStackTrace();
}
// Making HTTP Request
try {
HttpResponse response = httpClient.execute(httpPost);
jsonString = EntityUtils.toString(response.getEntity(), HTTP.UTF_8);
} catch (ClientProtocolException e) {
// writing exception to log
e.printStackTrace();
} catch (IOException e) {
// writing exception to log
e.printStackTrace();
}
return jsonString;
}
Ich habe versucht, auch für die Analyse der Parameter (Token in meinem Fall), aber die MultipartEnityBuilder Bibliothek wurde crasshing mein Programm, wenn Gebäude mit MultipartEntityBuilder:
die mein Code für die die Anfrage Aufbau ist unten dargestellt MultipartEnityBuilder Bibliothek wird zu meinem Projekt hinzugefügt, um die folgenden Abhängigkeiten mit:
//for accessing the MultipartEntity lbrary
compile "org.apache.httpcomponents:httpcore:4.2.4"
compile "org.apache.httpcomponents:httpmime:4.3"
der Fehler aufgrund der MultipartEntity
So jetzt meine Frage ist: Wie kann ich den JWT Token-Wert von Android Laravel Backend senden.
Token nicht als Formulardaten für JWT versendet werden können. Siehe [this] (https://github.com/typondesigns/jwt-auth/wiki/Authentication). – linuxartisan