wie bekomme ich ein bearer-token ein .Net-Konsolenanwendung?
War ich nach diese tutorial darüber, wie autorisieren und erhalten Sie einen bearer-token aus einer web-api-server. Die Aufgaben, die es durch fiddler sind ziemlich einfach, aber, als ich versuchte, das gleiche zu tun, die aus einer Konsolen-Anwendung die Anforderung schlägt fehl, mit einer 400 Bad Request Error
. Hier ist der code, der macht die Anfrage an den server:
var request = WebRequest.Create("http://localhost:12698/token") as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.CookieContainer = new CookieContainer();
var authCredentials = "userName=" + user + "&password=" + password;
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(authCredentials);
request.ContentLength = bytes.Length;
using (var requestStream = request.GetRequestStream()){
requestStream.Write(bytes, 0, bytes.Length);
}
using (var response = request.GetResponse() as HttpWebResponse){
authCookie = response.Cookies["access_token"];
}
kann mir jemand helfen bei der Bestimmung, was mache ich hier falsch? oder gibt es ein anderen Ansatz, den ich verwenden soll, um die Authentifizierung token?
InformationsquelleAutor haseeb | 2014-07-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin nicht in der Lage, dies zu testen, mir rechts jetzt, aber ich denke, Sie vermisst habe einige text in Ihrem
authCredentials
. Es sollte wie folgt Aussehen:Beachten Sie die zusätzlichen: grant_type=password&, dass ich am Anfang. Diese aktualisierte ganze Reihe
authCredentials
sollte das einzige, was Sie in Ihrer Anfrage Körper.Vorausgesetzt, die Anforderung erfolgreich und es fehl nicht für andere Gründe haben, z.B. Ihren Benutzernamen oder das Passwort nicht gültig ist, dann sollten Sie in der Lage, um wieder Ihre token-Daten.
Auch, die Antwort enthält die
access_token
in einem json-formatierten string in seinem Körper, nicht in einem cookie-header, wo du bist, es zu Lesen.InformationsquelleAutor djikay
FormUrlEncodedContent ist im System.Net.Http
InformationsquelleAutor Kjartan Valur Þórðarson