Ich entwickle einen Web-Service und ich muss einen Benutzernamen und ein Passwort an den Service in einer GET-Methode senden. Ist es in Ordnung, diese Informationen in der URI zu senden, solange es über einen sicheren Kanal wie SSL läuft? Mit anderen Worten, kann ich ein URI haben, das wie/users/{username}/{cleartext_password} aussieht?Senden von Benutzername und Passwort an Web-Service
Edit: Sorry, ich glaube ich war unklar. Der Web-Service ist im Wesentlichen nur eine Datenbank mit Benutzernamen und Hash-Passwörtern. Stellen Sie sich eine Desktop-Anwendung vor, die Benutzernamen und Kennwörter in einer entfernten Datenbank speichert. Der Endbenutzer gibt seinen Benutzernamen und sein Kennwort in die Anwendung ein, und die Anwendung greift auf den Webdienst zu, um den Benutzer zu authentifizieren.
Die Anwendung muss daher den Benutzernamen und das Klartextkennwort des Endbenutzers an den Dienst senden. Der Dienst übernimmt den Benutzernamen und das Passwort und überprüft, ob der Benutzername und der Hash des Passworts mit dem Benutzernamen und dem Hash-Passwort in der Datenbank übereinstimmen. Die Anwendung selbst muss sich authentifizieren, bevor sie auf den Dienst zugreifen kann, aber ich frage mich nur, wie der Benutzername und das Kennwort des Endbenutzers am besten zum Authentifizieren des Endbenutzers an den Dienst gesendet werden. Ich verwende keine POST-Methode, da ich mich einfach authentifiziere und den Status des Servers nicht verändere. Entschuldigung für die Verwirrung.
Oder Sie könnten in Zwei-Wege-SSL-Authentifizierung zu tun.Benutzer benötigen Zertifikate auf die gleiche Weise wie Server, aber der Server kann den Benutzer dann sicher authentifizieren. – mpez0