Frühjahr OAuth 2 Anruf - /oauth-token Ergab 401 (nicht autorisiert)

Gruß an alle, ich versuche zu konfigurieren einfache authorization code flow über Spring Security, OAuth.

Getestet habe ich meine Zulassung und resource-server-Konfiguration über folgende Ansätze:

  1. Erstellen Sie eine web-Anwendung als client und die Nutzung Ihrer Seite, um das Feuer http-post-Aufruf /oauth/autorisieren.
  2. Nach dem aufstehen code, ich benutze die gleiche Seite zu
    Feuer eine andere http-post mit code und get token.
  3. Am Ende, ich benutze
    curl -H " Ort token header-innen und Antwort geschützt
    Ressource.

Aber wenn ich versuche, mit rest-Vorlage. Es werfen Fehlermeldung 401 Unbefugte Fehler.

Server-side - Sicherheit zu konfigurieren:

<http auto-config="true" pattern="/protected/**"
    authentication-manager-ref="authenticationManager">
    <custom-filter ref="resourceFilter" before="PRE_AUTH_FILTER" />
    <csrf disabled="true" />
</http>

<http auto-config="true">
    <intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
    <form-login default-target-url="/admin.html" />
    <logout logout-success-url="/welcome.html" logout-url="/logout"/>
    <csrf disabled="true" />
</http>

<authentication-manager alias="authenticationManager">
    <authentication-provider>
        <user-service>
            <user name="admin" password="123456" authorities="ROLE_USER,ROLE_ADMIN" />
        </user-service>
    </authentication-provider>
</authentication-manager>

Server-side - Zulassung und Ressourcen konfigurieren:

<oauth:authorization-server
    client-details-service-ref="clientDetails" error-page="error">
    <oauth:authorization-code />
</oauth:authorization-server>

<oauth:client-details-service id="clientDetails">
    <oauth:client client-id="admin" secret="fooSecret" />
</oauth:client-details-service>

<oauth:resource-server id="resourceFilter" />

Client-Seite:

<oauth:client id="oauth2ClientContextFilter" />
<oauth:resource id="sso" client-id="admin"
    access-token-uri="http://localhost:8080/tough/oauth/token"
    user-authorization-uri="http://localhost:8080/tough/oauth/authorize"
    use-current-uri="true" client-secret="secret"
    client-authentication-scheme="header" type="authorization_code"
    scope="trust" />
<oauth:rest-template id="template" resource="sso"/>

Wenn jemand weiß, wo schief geht, bitte lass es mich wissen.

InformationsquelleAutor John | 2015-07-23

Schreibe einen Kommentar