|
@@ -1121,6 +1121,23 @@ public class ServerHttpSecurity {
|
|
private OAuth2ClientSpec() {}
|
|
private OAuth2ClientSpec() {}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Configures OAuth 2.0 Resource Server support.
|
|
|
|
+ *
|
|
|
|
+ * <pre class="code">
|
|
|
|
+ * @Bean
|
|
|
|
+ * public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
|
|
|
|
+ * http
|
|
|
|
+ * // ...
|
|
|
|
+ * .oauth2ResourceServer()
|
|
|
|
+ * .jwt()
|
|
|
|
+ * .publicKey(publicKey());
|
|
|
|
+ * return http.build();
|
|
|
|
+ * }
|
|
|
|
+ * </pre>
|
|
|
|
+ *
|
|
|
|
+ * @return the {@link OAuth2ResourceServerSpec} to customize
|
|
|
|
+ */
|
|
public OAuth2ResourceServerSpec oauth2ResourceServer() {
|
|
public OAuth2ResourceServerSpec oauth2ResourceServer() {
|
|
if (this.resourceServer == null) {
|
|
if (this.resourceServer == null) {
|
|
this.resourceServer = new OAuth2ResourceServerSpec();
|
|
this.resourceServer = new OAuth2ResourceServerSpec();
|
|
@@ -1199,6 +1216,11 @@ public class ServerHttpSecurity {
|
|
return this;
|
|
return this;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Enables JWT Resource Server support.
|
|
|
|
+ *
|
|
|
|
+ * @return the {@link JwtSpec} for additional configuration
|
|
|
|
+ */
|
|
public JwtSpec jwt() {
|
|
public JwtSpec jwt() {
|
|
if (this.jwt == null) {
|
|
if (this.jwt == null) {
|
|
this.jwt = new JwtSpec();
|
|
this.jwt = new JwtSpec();
|
|
@@ -1206,6 +1228,11 @@ public class ServerHttpSecurity {
|
|
return this.jwt;
|
|
return this.jwt;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Enables Opaque Token Resource Server support.
|
|
|
|
+ *
|
|
|
|
+ * @return the {@link OpaqueTokenSpec} for additional configuration
|
|
|
|
+ */
|
|
public OpaqueTokenSpec opaqueToken() {
|
|
public OpaqueTokenSpec opaqueToken() {
|
|
if (this.opaqueToken == null) {
|
|
if (this.opaqueToken == null) {
|
|
this.opaqueToken = new OpaqueTokenSpec();
|
|
this.opaqueToken = new OpaqueTokenSpec();
|