Définition de l'en-tête Authorization pour HttpClient en C# (OAuth, REST)
Bonjour à tous ! Je suis débutant en C# et j'essaie d'envoyer une requête GET à une API REST qui nécessite une authentification via OAuth 2.0. J'ai un Bearer token (access_token) que je reçois du serveur d'autorisation. Le problème est que je n'arrive pas à définir correctement l'en-tête Authorization pour HttpClient. L'API renvoie une erreur 401 Unauthorized, bien que le token soit fonctionnel (vérifié dans Postman). Mon code ressemble à ceci :
```csharp
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://api.example.com/");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.GetAsync("/v1/users");
// ... traitement de la réponse
}
```
J'ai aussi essayé d'ajouter l'en-tête manuellement via `client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token)`, mais le résultat est le même. Qu'est-ce que je fais de travers ? Peut-être que le problème vient de la définition incorrecte de BaseAddress ou qu'il faut utiliser une autre approche pour Windows Runtime ?
No answers yet.
Connectez-vous pour laisser une réponse