Ich erstelle eine geschützte Ruhe apis basierend auf oauth2.0 Framework.Oauth2.0 auhtorization server konfiguration
Ich baute den Autorisierungsserver und den Ressourcenserver erfolgreich.
Die AuthorizationServer erstreckt AuthorizationServerConfigurerAdapter und überschreibt einige Methoden, ich bin
public void configure (ClientDetailsServiceConfigurer Clients) ein Problem mit dieser erweiterten Methode gegenüber throws Exception {}
Hier ist die Erklärung
Wenn ich diese Version der config()Autorisierungsserver läuft
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients.inMemory().withClient("clientapp").authorizedGrantTypes("password", "refresh_token")
.scopes("read", "write").resourceIds(RESOURCE_ID).secret("123456");
}
diese Methode funktioniert gut und gibt einen access_token, wenn ich danach fragen.
Aber wenn ich die gleiche Methode mit einigen Verbesserungen ausgeführt habe, bekam ich nichts, wenn ich um access_token bat, aber 401 nicht autorisierte HTTP-Antwort.
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
int n = appMetier.getAppsCount();
for (App app:appMetier.findAll(0, n).getApps()) {
clients.inMemory().withClient(app.getClientPublicId()).authorizedGrantTypes("password", "refresh_token")
.scopes("read", "write").resourceIds(RESOURCE_ID).secret(app.getClientSecretId());
}
}
Die n Variable hier entspricht 17, das bedeutet, ich habe 17 Clients in Memory, die das Recht haben, ein access_token zu erhalten.
Der einzige, der das access_token von der 17 bekommt, ist der erste.
Ihre Antworten bitte und danke im Voraus.
Sie benötigen mehrere Clients für denselben OAuth-Anbieter? – 11thdimension