Skip to content

Commit bf81496

Browse files
author
Sauli Ketola
committed
Create queries for getting access and refresh tokens by user sub
1 parent 64fbee7 commit bf81496

File tree

4 files changed

+29
-2
lines changed

4 files changed

+29
-2
lines changed

openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@
7171
@NamedQuery(name = OAuth2AccessTokenEntity.QUERY_BY_CLIENT, query = "select a from OAuth2AccessTokenEntity a where a.client = :" + OAuth2AccessTokenEntity.PARAM_CLIENT),
7272
@NamedQuery(name = OAuth2AccessTokenEntity.QUERY_BY_TOKEN_VALUE, query = "select a from OAuth2AccessTokenEntity a where a.jwt = :" + OAuth2AccessTokenEntity.PARAM_TOKEN_VALUE),
7373
@NamedQuery(name = OAuth2AccessTokenEntity.QUERY_BY_APPROVED_SITE, query = "select a from OAuth2AccessTokenEntity a where a.approvedSite = :" + OAuth2AccessTokenEntity.PARAM_APPROVED_SITE),
74-
@NamedQuery(name = OAuth2AccessTokenEntity.QUERY_BY_RESOURCE_SET, query = "select a from OAuth2AccessTokenEntity a join a.permissions p where p.resourceSet.id = :" + OAuth2AccessTokenEntity.PARAM_RESOURCE_SET_ID)
74+
@NamedQuery(name = OAuth2AccessTokenEntity.QUERY_BY_RESOURCE_SET, query = "select a from OAuth2AccessTokenEntity a join a.permissions p where p.resourceSet.id = :" + OAuth2AccessTokenEntity.PARAM_RESOURCE_SET_ID),
75+
@NamedQuery(name = OAuth2AccessTokenEntity.QUERY_BY_SUB, query = "select r from OAuth2AccessTokenEntity r where r.authenticationHolder.userAuth.name = :" + OAuth2AccessTokenEntity.PARAM_SUB)
7576
})
7677
@org.codehaus.jackson.map.annotate.JsonSerialize(using = OAuth2AccessTokenJackson1Serializer.class)
7778
@org.codehaus.jackson.map.annotate.JsonDeserialize(using = OAuth2AccessTokenJackson1Deserializer.class)
@@ -86,13 +87,15 @@ public class OAuth2AccessTokenEntity implements OAuth2AccessToken {
8687
public static final String QUERY_EXPIRED_BY_DATE = "OAuth2AccessTokenEntity.getAllExpiredByDate";
8788
public static final String QUERY_ALL = "OAuth2AccessTokenEntity.getAll";
8889
public static final String QUERY_BY_RESOURCE_SET = "OAuth2AccessTokenEntity.getByResourceSet";
90+
public static final String QUERY_BY_SUB = "OAuth2AccessTokenEntity.getBySub";
8991

9092
public static final String PARAM_TOKEN_VALUE = "tokenValue";
9193
public static final String PARAM_CLIENT = "client";
9294
public static final String PARAM_REFERSH_TOKEN = "refreshToken";
9395
public static final String PARAM_DATE = "date";
9496
public static final String PARAM_RESOURCE_SET_ID = "rsid";
9597
public static final String PARAM_APPROVED_SITE = "approvedSite";
98+
public static final String PARAM_SUB = "sub";
9699

97100
public static final String ID_TOKEN_FIELD_NAME = "id_token";
98101

openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2RefreshTokenEntity.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,18 +53,21 @@
5353
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_ALL, query = "select r from OAuth2RefreshTokenEntity r"),
5454
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_EXPIRED_BY_DATE, query = "select r from OAuth2RefreshTokenEntity r where r.expiration <= :" + OAuth2RefreshTokenEntity.PARAM_DATE),
5555
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_BY_CLIENT, query = "select r from OAuth2RefreshTokenEntity r where r.client = :" + OAuth2RefreshTokenEntity.PARAM_CLIENT),
56-
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_BY_TOKEN_VALUE, query = "select r from OAuth2RefreshTokenEntity r where r.jwt = :" + OAuth2RefreshTokenEntity.PARAM_TOKEN_VALUE)
56+
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_BY_TOKEN_VALUE, query = "select r from OAuth2RefreshTokenEntity r where r.jwt = :" + OAuth2RefreshTokenEntity.PARAM_TOKEN_VALUE),
57+
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_BY_SUB, query = "select r from OAuth2RefreshTokenEntity r where r.authenticationHolder.userAuth.name = :" + OAuth2RefreshTokenEntity.PARAM_SUB)
5758
})
5859
public class OAuth2RefreshTokenEntity implements OAuth2RefreshToken {
5960

6061
public static final String QUERY_BY_TOKEN_VALUE = "OAuth2RefreshTokenEntity.getByTokenValue";
6162
public static final String QUERY_BY_CLIENT = "OAuth2RefreshTokenEntity.getByClient";
6263
public static final String QUERY_EXPIRED_BY_DATE = "OAuth2RefreshTokenEntity.getAllExpiredByDate";
6364
public static final String QUERY_ALL = "OAuth2RefreshTokenEntity.getAll";
65+
public static final String QUERY_BY_SUB = "OAuth2RefreshTokenEntity.getBySub";
6466

6567
public static final String PARAM_TOKEN_VALUE = "tokenValue";
6668
public static final String PARAM_CLIENT = "client";
6769
public static final String PARAM_DATE = "date";
70+
public static final String PARAM_SUB = "sub";
6871

6972
private Long id;
7073

openid-connect-common/src/main/java/org/mitre/oauth2/repository/OAuth2TokenRepository.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ public interface OAuth2TokenRepository {
5252
public List<OAuth2AccessTokenEntity> getAccessTokensForClient(ClientDetailsEntity client);
5353

5454
public List<OAuth2RefreshTokenEntity> getRefreshTokensForClient(ClientDetailsEntity client);
55+
56+
public Set<OAuth2AccessTokenEntity> getAccessTokensBySub(String sub);
57+
58+
public Set<OAuth2RefreshTokenEntity> getRefreshTokensBySub(String sub);
5559

5660
public Set<OAuth2AccessTokenEntity> getAllAccessTokens();
5761

openid-connect-server/src/main/java/org/mitre/oauth2/repository/impl/JpaOAuth2TokenRepository.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.text.ParseException;
2121
import java.util.ArrayList;
2222
import java.util.Date;
23+
import java.util.HashSet;
2324
import java.util.LinkedHashSet;
2425
import java.util.List;
2526
import java.util.Set;
@@ -189,6 +190,22 @@ public List<OAuth2RefreshTokenEntity> getRefreshTokensForClient(ClientDetailsEnt
189190
List<OAuth2RefreshTokenEntity> refreshTokens = queryR.getResultList();
190191
return refreshTokens;
191192
}
193+
194+
@Override
195+
public Set<OAuth2AccessTokenEntity> getAccessTokensBySub(String sub) {
196+
TypedQuery<OAuth2AccessTokenEntity> query = manager.createNamedQuery(OAuth2AccessTokenEntity.QUERY_BY_SUB, OAuth2AccessTokenEntity.class);
197+
query.setParameter(OAuth2AccessTokenEntity.PARAM_SUB, sub);
198+
List<OAuth2AccessTokenEntity> results = query.getResultList();
199+
return results != null ? new HashSet<>(query.getResultList()) : new HashSet<>();
200+
}
201+
202+
@Override
203+
public Set<OAuth2RefreshTokenEntity> getRefreshTokensBySub(String sub) {
204+
TypedQuery<OAuth2RefreshTokenEntity> query = manager.createNamedQuery(OAuth2RefreshTokenEntity.QUERY_BY_SUB, OAuth2RefreshTokenEntity.class);
205+
query.setParameter(OAuth2RefreshTokenEntity.PARAM_SUB, sub);
206+
List<OAuth2RefreshTokenEntity> results = query.getResultList();
207+
return results != null ? new HashSet<>(query.getResultList()) : new HashSet<>();
208+
}
192209

193210
@Override
194211
public Set<OAuth2AccessTokenEntity> getAllExpiredAccessTokens() {

0 commit comments

Comments
 (0)