Skip to content

Commit 0fde29d

Browse files
committed
Add nullability annotations to module/spring-boot-security-oauth2-resource-server
See gh-46587
1 parent 5a59dcf commit 0fde29d

File tree

6 files changed

+47
-32
lines changed

6 files changed

+47
-32
lines changed

module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/OAuth2ResourceServerProperties.java

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import java.util.Arrays;
2424
import java.util.List;
2525

26+
import org.jspecify.annotations.Nullable;
27+
2628
import org.springframework.boot.context.properties.ConfigurationProperties;
2729
import org.springframework.boot.context.properties.source.InvalidConfigurationPropertyValueException;
2830
import org.springframework.core.io.Resource;
@@ -58,7 +60,7 @@ public static class Jwt {
5860
/**
5961
* JSON Web Key URI to use to verify the JWT token.
6062
*/
61-
private String jwkSetUri;
63+
private @Nullable String jwkSetUri;
6264

6365
/**
6466
* JSON Web Algorithms used for verifying the digital signatures.
@@ -69,12 +71,12 @@ public static class Jwt {
6971
* URI that can either be an OpenID Connect discovery endpoint or an OAuth 2.0
7072
* Authorization Server Metadata endpoint defined by RFC 8414.
7173
*/
72-
private String issuerUri;
74+
private @Nullable String issuerUri;
7375

7476
/**
7577
* Location of the file containing the public key used to verify a JWT.
7678
*/
77-
private Resource publicKeyLocation;
79+
private @Nullable Resource publicKeyLocation;
7880

7981
/**
8082
* Identifies the recipients that the JWT is intended for.
@@ -84,28 +86,28 @@ public static class Jwt {
8486
/**
8587
* Prefix to use for authorities mapped from JWT.
8688
*/
87-
private String authorityPrefix;
89+
private @Nullable String authorityPrefix;
8890

8991
/**
9092
* Regex to use for splitting the value of the authorities claim into authorities.
9193
*/
92-
private String authoritiesClaimDelimiter;
94+
private @Nullable String authoritiesClaimDelimiter;
9395

9496
/**
9597
* Name of token claim to use for mapping authorities from JWT.
9698
*/
97-
private String authoritiesClaimName;
99+
private @Nullable String authoritiesClaimName;
98100

99101
/**
100102
* JWT principal claim name.
101103
*/
102-
private String principalClaimName;
104+
private @Nullable String principalClaimName;
103105

104-
public String getJwkSetUri() {
106+
public @Nullable String getJwkSetUri() {
105107
return this.jwkSetUri;
106108
}
107109

108-
public void setJwkSetUri(String jwkSetUri) {
110+
public void setJwkSetUri(@Nullable String jwkSetUri) {
109111
this.jwkSetUri = jwkSetUri;
110112
}
111113

@@ -117,19 +119,19 @@ public void setJwsAlgorithms(List<String> jwsAlgorithms) {
117119
this.jwsAlgorithms = jwsAlgorithms;
118120
}
119121

120-
public String getIssuerUri() {
122+
public @Nullable String getIssuerUri() {
121123
return this.issuerUri;
122124
}
123125

124-
public void setIssuerUri(String issuerUri) {
126+
public void setIssuerUri(@Nullable String issuerUri) {
125127
this.issuerUri = issuerUri;
126128
}
127129

128-
public Resource getPublicKeyLocation() {
130+
public @Nullable Resource getPublicKeyLocation() {
129131
return this.publicKeyLocation;
130132
}
131133

132-
public void setPublicKeyLocation(Resource publicKeyLocation) {
134+
public void setPublicKeyLocation(@Nullable Resource publicKeyLocation) {
133135
this.publicKeyLocation = publicKeyLocation;
134136
}
135137

@@ -141,35 +143,35 @@ public void setAudiences(List<String> audiences) {
141143
this.audiences = audiences;
142144
}
143145

144-
public String getAuthorityPrefix() {
146+
public @Nullable String getAuthorityPrefix() {
145147
return this.authorityPrefix;
146148
}
147149

148-
public void setAuthorityPrefix(String authorityPrefix) {
150+
public void setAuthorityPrefix(@Nullable String authorityPrefix) {
149151
this.authorityPrefix = authorityPrefix;
150152
}
151153

152-
public String getAuthoritiesClaimDelimiter() {
154+
public @Nullable String getAuthoritiesClaimDelimiter() {
153155
return this.authoritiesClaimDelimiter;
154156
}
155157

156-
public void setAuthoritiesClaimDelimiter(String authoritiesClaimDelimiter) {
158+
public void setAuthoritiesClaimDelimiter(@Nullable String authoritiesClaimDelimiter) {
157159
this.authoritiesClaimDelimiter = authoritiesClaimDelimiter;
158160
}
159161

160-
public String getAuthoritiesClaimName() {
162+
public @Nullable String getAuthoritiesClaimName() {
161163
return this.authoritiesClaimName;
162164
}
163165

164-
public void setAuthoritiesClaimName(String authoritiesClaimName) {
166+
public void setAuthoritiesClaimName(@Nullable String authoritiesClaimName) {
165167
this.authoritiesClaimName = authoritiesClaimName;
166168
}
167169

168-
public String getPrincipalClaimName() {
170+
public @Nullable String getPrincipalClaimName() {
169171
return this.principalClaimName;
170172
}
171173

172-
public void setPrincipalClaimName(String principalClaimName) {
174+
public void setPrincipalClaimName(@Nullable String principalClaimName) {
173175
this.principalClaimName = principalClaimName;
174176
}
175177

@@ -195,39 +197,39 @@ public static class Opaquetoken {
195197
/**
196198
* Client id used to authenticate with the token introspection endpoint.
197199
*/
198-
private String clientId;
200+
private @Nullable String clientId;
199201

200202
/**
201203
* Client secret used to authenticate with the token introspection endpoint.
202204
*/
203-
private String clientSecret;
205+
private @Nullable String clientSecret;
204206

205207
/**
206208
* OAuth 2.0 endpoint through which token introspection is accomplished.
207209
*/
208-
private String introspectionUri;
210+
private @Nullable String introspectionUri;
209211

210-
public String getClientId() {
212+
public @Nullable String getClientId() {
211213
return this.clientId;
212214
}
213215

214-
public void setClientId(String clientId) {
216+
public void setClientId(@Nullable String clientId) {
215217
this.clientId = clientId;
216218
}
217219

218-
public String getClientSecret() {
220+
public @Nullable String getClientSecret() {
219221
return this.clientSecret;
220222
}
221223

222-
public void setClientSecret(String clientSecret) {
224+
public void setClientSecret(@Nullable String clientSecret) {
223225
this.clientSecret = clientSecret;
224226
}
225227

226-
public String getIntrospectionUri() {
228+
public @Nullable String getIntrospectionUri() {
227229
return this.introspectionUri;
228230
}
229231

230-
public void setIntrospectionUri(String introspectionUri) {
232+
public void setIntrospectionUri(@Nullable String introspectionUri) {
231233
this.introspectionUri = introspectionUri;
232234
}
233235

module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/package-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@
1717
/**
1818
* Support for Spring Security's OAuth2 resource server.
1919
*/
20+
@NullMarked
2021
package org.springframework.boot.security.oauth2.server.resource.autoconfigure;
22+
23+
import org.jspecify.annotations.NullMarked;

module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/reactive/ReactiveOAuth2ResourceServerJwkConfiguration.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import java.util.List;
2626
import java.util.Set;
2727

28+
import org.jspecify.annotations.Nullable;
29+
2830
import org.springframework.beans.factory.ObjectProvider;
2931
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
3032
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
@@ -125,7 +127,7 @@ private JwtClaimValidator<List<String>> audValidator(List<String> audiences) {
125127
return new JwtClaimValidator<>(JwtClaimNames.AUD, (aud) -> nullSafeDisjoint(aud, audiences));
126128
}
127129

128-
private boolean nullSafeDisjoint(List<String> c1, List<String> c2) {
130+
private boolean nullSafeDisjoint(@Nullable List<String> c1, List<String> c2) {
129131
return c1 != null && !Collections.disjoint(c1, c2);
130132
}
131133

module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/reactive/package-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@
1717
/**
1818
* Auto-configuration for Spring Security's Reactive OAuth2 resource server.
1919
*/
20+
@NullMarked
2021
package org.springframework.boot.security.oauth2.server.resource.autoconfigure.reactive;
22+
23+
import org.jspecify.annotations.NullMarked;

module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/servlet/OAuth2ResourceServerJwtConfiguration.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import java.util.List;
2626
import java.util.Set;
2727

28+
import org.jspecify.annotations.Nullable;
29+
2830
import org.springframework.beans.factory.ObjectProvider;
2931
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
3032
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
@@ -124,7 +126,7 @@ private JwtClaimValidator<List<String>> audValidator(List<String> audiences) {
124126
return new JwtClaimValidator<>(JwtClaimNames.AUD, (aud) -> nullSafeDisjoint(aud, audiences));
125127
}
126128

127-
private boolean nullSafeDisjoint(List<String> c1, List<String> c2) {
129+
private boolean nullSafeDisjoint(@Nullable List<String> c1, List<String> c2) {
128130
return c1 != null && !Collections.disjoint(c1, c2);
129131
}
130132

module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/servlet/package-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@
1717
/**
1818
* Auto-configuration for Spring Security's OAuth2 resource server.
1919
*/
20+
@NullMarked
2021
package org.springframework.boot.security.oauth2.server.resource.autoconfigure.servlet;
22+
23+
import org.jspecify.annotations.NullMarked;

0 commit comments

Comments
 (0)