Ich versuche, spring-security-oauth2.0
mit Java-basierter Konfiguration zu verwenden. Meine Konfiguration erfolgt ist, aber wenn ich Anwendung auf Tomcat bereitstellen und die /oauth/token
URL für Zugriffstoken getroffen, Oauth
erzeugen, um den follwoing Fehler:Spring-Security-Oauth2: Zum Zugriff auf diese Ressource ist eine vollständige Authentifizierung erforderlich.
<oauth>
<error_description>Full authentication is required to access this resource</error_description>
<error>unauthorized</error>
</oauth>
Meine Konfiguration ist auf Git hub, please click on link
Der Code ist groß, so verweisen git. Ich benutze den Chrome Postman Client für die Sendeanfrage. Folgend ist meine Bitte.
POST /dummy-project-web/oauth/token HTTP/1.1
Host: localhost:8081
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id=abc%40gmail.com&client_secret=12345678
Der Fehler ist wie die URL von Oauth
sicher ist, aber in der Konfiguration, ich gebe diese URL die alle Erlaubnis für den Zugriff. Was ist das eigentlich für ein Problem?
ich denke, dies wird mit 'grant_type = password' für' client_credentials' verwendet, dies ist nicht notwendig. Wenn ich falsch liege, korrigiere mich bitte. –
Wenn ich dies versuche, wird die Ausnahme "error =" invalid_token ", error_description =" Ungültiges Zugriffstoken: [email protected] "' werfen. Ich dünn, für den Zugriff auf diese Ressource benötigt es Auth-Token, aber warum? –
Nein, grant_type = password ist der Ort, an dem der Benutzer/Pass des Ressourceneigentümers (d. H. Der Endbenutzer) direkt dem Client zur Verfügung gestellt wird. client_credentials wird verwendet, wenn Sie den Ressourcenbesitzer überhaupt nicht authentifizieren; nur der Kunde selbst.Das ist es, was deine Frage anzeigt. Verwenden Sie client_credentials mit dem in meiner Antwort angegebenen Schema, wenn Sie wirklich nur den Client und nicht den Benutzer authentifizieren möchten. – GaryF