/ / Comment authentifier un service SOAP avec le jeton OAuth Access C # - c #, services Web, authentification, soap, oauth

Comment authentifier le service SOAP avec le jeton OAuth Access C # - c #, services Web, authentification, savon, oauth

J'essaie de me connecter à une API SOAP à l'aide de C #. L'API que j'utilise insiste sur le fait que je dois authentifier chaque appel d'API avec un jeton OAuth. J'ai implémenté le système OAuth et obtenu le jeton dont j'avais besoin, mais je ne suis pas sûr de savoir comment l'ajouter à l'appel SOAP que je passe. Donc je trid quelque chose comme ça

       var soapClient = new ReturnClient();
soapClient.ClientCredentials.UserName.UserName = "MyToken";
soapClient.ClientCredentials.UserName.Password = "MyToken";
var rrr = new RetrieveReturnRequest {RetrieveReturnRequestWrapper = xElem2};
var response = soapClient.RetrieveReturn(rrr);

Mais cela ne fonctionne pas et jette System.ServiceModel.CommunicationException:. Quelqu'un peut-il indiquer quelle est la bonne manière d'authentifier un appel SOAP avec Access Token

Réponses:

1 pour la réponse № 1

En règle générale, lorsque vous utilisez OAuth, vous devez transmettre le "jeton" à l'aide d'un en-tête HTTP. Pour OAuth2 et un jeton porteur, vous devrez le transmettre dans le Authorization En-tête HTTP.

requestMessage.Headers["Authorization"] = "Bearer TOKEN_VALUE_HERE";

Regarde ça lien pour plus de détails sur la manière de passer un en-tête HTTP dans un client SOAP.