RestSharp HttpBasicAuthentication - exemple
J'ai un WPF client à l'aide de RestSharp et API WEB Service. J'essaie d'utiliser HttpBasicAuthenticator
comme suit:
RestRequest login = new RestRequest("/api/users/login", Method.POST);
var authenticator = new HttpBasicAuthenticator("admin","22");
authenticator.Authenticate(Client, login);
IRestResponse response = Client.Execute(login);
La demande POST ressemble à ceci:
POST http://localhost/api/users/login HTTP/1.1
Authorization: Basic YWRtaW46MjI=
Accept: application/json, application/xml, text/json, text/x-json, text/javascript, text/xml
User-Agent: RestSharp/105.1.0.0
Host: dellnote:810
Content-Length: 0
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
- Comment puis-je traiter ce domaine,
Authorization: Basic YWRtaW46MjI=
sur le serveur? Dois-je obtenir le nom d'utilisateur et le mot de passe de cet en-tête? - Comment puis-je retourner un jeton de sécurité à partir du serveur vers le client et l'enregistrer sur le côté client?
J'ai besoin pour avoir une simple authentification basée sur l'émission de jeton de sécurité mais ne trouve pas d'exemple qui décrit tous les côtés de ce processus. Quelqu'un peut-il m'indiquer quelques exemple complet qui inclut le client et côté serveur (et utilise RestSharp).
Vous pouvez voir ma réponse ci-dessous
docs.microsoft.com/en-us/aspnet/web-api/overview/security/...
docs.microsoft.com/en-us/aspnet/web-api/overview/security/...
OriginalL'auteur RomaS | 2015-08-05
Vous devez vous connecter pour publier un commentaire.
new SimpleAuthenticator("username", username, "password", password)
ne PAS travailler avec moi.La suite cependant travaillé:
merci!!!! il a travaillé pour moi.
OriginalL'auteur Gerhard Powell
De RestSharp documentation:
L'URL générée pour cette demande serait http://example.com/resource?username=foo&mot de passe=bar
De sorte que vous obtenez le mot de passe comme n'importe quel autre paramètre (bien que, il est recommandé d'utiliser la méthode POST puis d'OBTENIR, pour des raisons de sécurité).
Comme pour les cookies, vérifiez ceci:
https://msdn.microsoft.com/en-us/library/system.windows.application.setcookie.aspx
https://msdn.microsoft.com/en-us/library/system.windows.application.getcookie.aspx
Espère que cela aide
Je pense que les cookies est le chemin à parcourir, pour que
J'ai pensé à utiliser CookieContainer et FormsAuthentication.SetAuthCookie méthode. Mais c'est plus comme un navigateur (et j'ai WPF client). Je ne suis pas sûr que les cookies est de la bonne manière.
Autant que je sache, vous pouvez utiliser des cookies avec WPF. J'ai ajouté des liens dans la réponse
Il convient de noter que le code ci-dessus va échouer si vous ne comprennent pas "à l'aide de RestSharp.Les authentificateurs," au sommet, ou tout simplement remplacer "SimpleAuthenticator" avec "RestSharp.Les authentificateurs.SimpleAuthenticator".
OriginalL'auteur Felix Av
Alternative répondre à votre première question sur la récupération d'en-Tête d'Authentification valeurs (Côté Serveur) à partir de Comment puis-je récupérer les informations d'Authentification de Base de l'en-tête?:
L'utilisation de cette méthode peut être:
Également jeter un oeil à: A-WebAPI-De Base-Authentification-Autorisation-Filtre
Alternative la réponse à la deuxième question de retourner le jeton (Côté Serveur):
OriginalL'auteur Jacques Kammeyer