Ho un server di autorizzazione OAuth di Spring e desidero aggiungere il supporto per più di un client (id). Ho configurato i clienti in questo modo:Aggiunta di più di un client al server di autenticazione OAuth2 di Spring
clients
.inMemory().withClient(client).secret(clientSecret)
.resourceIds(resourceId)
.authorizedGrantTypes("client_credentials", "password", "refresh_token", "implicit", "authorization_code")
.authorities("ROLE_USER")
.scopes("read", "write")
.autoApprove(true)
.and()
.inMemory().withClient("acme").secret("acmesecret")
.resourceIds(resourceId)
.authorizedGrantTypes("client_credentials", "password", "refresh_token", "implicit", "authorization_code")
.authorities("ROLE_USER_ACME")
.scopes("read", "write")
.autoApprove(true);
posso ottenere token di accesso con il primo cliente, ma ottengo questo errore quando si cerca di ottenere il token di accesso con il secondo cliente:
{
"timestamp": 1456822249638,
"status": 401,
"error": "Unauthorized",
"message": "Bad credentials",
"path": "/oauth/token"
}
E 'possibile aggiungere più allora un cliente e come farlo? Inoltre, come leggere i client da un database?
E 'possibile raggiungere questo obiettivo attraverso l'application.yml-file invece? –
@AndreasLundgren: Hai avuto ancora fortuna con il file '.yml'? – frhd
No, alla fine abbiamo ignorato oAuth2 poiché in realtà non disponevamo di alcun sistema di back-end di terze parti che necessitasse di accesso, solo i sistemi e i client interni di BE. –