1

Ich untersuche Spring OAuth2, indem ich den Satz three interconnected sample apps at this GitHub link zerlege. Die Apps funktionieren wie beabsichtigt auf meiner Devbox, aber die App authserver erzeugt eine unerwünschte Bestätigungsseite, die den Benutzer auffordert, zu bestätigen, dass er den Client unter localhost:8080/login autorisiert, seine geschützten Informationen zu erhalten. Ein Screenshot der Bestätigungsseite ist wie folgt:Deaktivieren der Bestätigungsseite im Frühjahr OAuth2

Welche konkreten Änderungen müssen die authserver App Code vorgenommen werden, um den Bestätigungsschritt zu entfernen?

Ich verstehe, dass die Bestätigungsseite in bestimmten Anwendungsfällen nützlich sein könnte. Aber die Bestätigungsseite ist nicht für den von mir beabsichtigten Anwendungsfall geeignet. Wie kann ich diesen Schritt deaktivieren?


Erster Versuch:


Ich habe in authorize.ftl, which you can read by clicking on this link die Ansicht Code für die Genehmigung Seite befindet. Aber wenn ich Ctrl-H in einem Eclipse-Arbeitsbereich mache und nach "authorize.ftl" suche, werden keine Ergebnisse angezeigt. In ähnlicher Weise habe ich die Spring OAuth2 Developer Guide überprüft. Einige Erwähnung in der Anleitung besteht darin, eine separate @RequestMappig("/oauth/authorize") zu erstellen, aber es schien nicht klar, wie Sie diesen Bestätigungsschritt deaktivieren. Der Code für die Vorlage login ist in login.ftl, which you can read at this link.

Ist die Lösung einfach den login.ftl Code in eine neue login.html Datei verschieben und dann mit @RequestMappig("/oauth/authorize") diese Ansicht verwalten?

Wenn ich die Arbeits aus dem Entwicklerhandbuch Link oben richtig zu interpretieren, so scheint es, zu sagen, dass

1.) eine @RequestMappig("/oauth/authorize") Methode verknüpft GET die Login-Ansicht würde dazu dienen, dann ein andere @RequestMappig("/oauth/authorize"),

2.) dann würde eine andere Methode, die mit POST verbunden ist, die Informationen aus der Ansicht übernehmen und den Bestätigungsschritt umgehen.

Aber wie würde das im Code aussehen? Hier ist ein Ausgangspunkt, wenn ich das richtig verstehen:

`@RequestMappig("/oauth/authorize", method = RequestMethod.GET)` 
public @ResponseBody SomeType method1Name(){ 
    SomeType st = new SomeType(); 
    //do some stuff to st 
    return st; 
} 

`@RequestMappig("/oauth/authorize", method = RequestMethod.POST)` 
public @ResponseBody SomeType method2Name(){ 
    SomeType st = new SomeType(); 
    //do other stuff to st 
    return st; 
} 

Was ich in den Methoden setzen? Und dann habe ich den View-Code gesetzt?

Das Entwicklerhandbuch sagt, mit WhiteLabelApprovalEndpoint,java, which you can read on GitHub at this link zu beginnen.

+0

Authserver verwendet Spring Security OAuth2 als OAuth2-Implementierung? –

+0

@ ksokol Das ist mein Verständnis. Warum fragst du? – CodeMed

Antwort

4

Benutzerbestätigung der Token-Gewährung ist optional. Sie müssen den Client als autoapprove = "*" registrieren, wenn Sie diesen Schritt überspringen möchten. Ich bin mir ziemlich sicher, dass das in der Bedienungsanleitung steht.

Verwandte Themen