Skip to content

Commit 507f8c3

Browse files
committed
added support for /session and /refreshTokens API's and updated relevant test cases
1 parent a556bcd commit 507f8c3

30 files changed

Lines changed: 841 additions & 188 deletions

src/main/java/com/auth0/client/mgmt/ManagementAPI.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,22 @@ public KeysEntity keys() {
364364
return new KeysEntity(client, baseUrl, tokenProvider);
365365
}
366366

367+
/**
368+
* Getter for the Prompts Entity
369+
* @return the Prompts Entity
370+
*/
371+
public RefreshTokensEntity refreshTokens() {
372+
return new RefreshTokensEntity(client, baseUrl, tokenProvider);
373+
}
374+
375+
/**
376+
* Getter for the Prompts Entity
377+
* @return the Prompts Entity
378+
*/
379+
public SessionsEntity sessions() {
380+
return new SessionsEntity(client, baseUrl, tokenProvider);
381+
}
382+
367383
/**
368384
* Builder for {@link ManagementAPI} API client instances.
369385
*/
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package com.auth0.client.mgmt;
2+
3+
import com.auth0.json.mgmt.refreshtokens.RefreshToken;
4+
import com.auth0.net.BaseRequest;
5+
import com.auth0.net.Request;
6+
import com.auth0.net.VoidRequest;
7+
import com.auth0.net.client.Auth0HttpClient;
8+
import com.auth0.net.client.HttpMethod;
9+
import com.auth0.utils.Asserts;
10+
import com.fasterxml.jackson.core.type.TypeReference;
11+
import okhttp3.HttpUrl;
12+
13+
/**
14+
* Class that provides an implementation of the Refresh Tokens methods of the Management API as defined in <a href="https://auth0.com/docs/api/management/v2#!/Refresh_Tokens">https://auth0.com/docs/api/management/v2#!/Refresh_Tokens</a>
15+
* <p>
16+
* This class is not thread-safe.
17+
* @see ManagementAPI
18+
*/
19+
@SuppressWarnings("WeakerAccess")
20+
public class RefreshTokensEntity extends BaseManagementEntity{
21+
22+
RefreshTokensEntity(Auth0HttpClient client, HttpUrl baseUrl, TokenProvider tokenProvider) {
23+
super(client, baseUrl, tokenProvider);
24+
}
25+
26+
/**
27+
* Request the refresh token for a given refresh token ID.
28+
* A token with scope {@code read:refresh_tokens} is needed.
29+
* See <a href="https://auth0.com/docs/api/management/v2/refresh-tokens/get-refresh-token">https://auth0.com/docs/api/management/v2/refresh-tokens/get-refresh-token</a>
30+
* @param refreshTokenId the refresh token ID.
31+
* @return a Request to execute.
32+
*/
33+
public Request<RefreshToken> get(String refreshTokenId){
34+
Asserts.assertNotNull(refreshTokenId, "refresh token ID");
35+
36+
String url = baseUrl
37+
.newBuilder()
38+
.addPathSegments("api/v2/refresh-tokens")
39+
.addPathSegment(refreshTokenId)
40+
.build()
41+
.toString();
42+
43+
return new BaseRequest<>(client, tokenProvider, url, HttpMethod.GET, new TypeReference<RefreshToken>() {
44+
});
45+
}
46+
47+
/**
48+
* Delete the refresh token for a given refresh token ID.
49+
* * A token with scope {@code delete:refresh_tokens} is needed.
50+
* See <a href="https://auth0.com/docs/api/management/v2/refresh-tokens/delete-refresh-token">https://auth0.com/docs/api/management/v2/refresh-tokens/delete-refresh-token</a>
51+
* @param refreshTokenId the refresh token ID.
52+
* @return a Request to execute.
53+
*/
54+
public Request<Void> delete(String refreshTokenId){
55+
Asserts.assertNotNull(refreshTokenId, "refresh token ID");
56+
57+
String url = baseUrl
58+
.newBuilder()
59+
.addPathSegments("api/v2/refresh-tokens")
60+
.addPathSegment(refreshTokenId)
61+
.build()
62+
.toString();
63+
64+
return new VoidRequest(client, tokenProvider, url, HttpMethod.DELETE);
65+
}
66+
}
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
package com.auth0.client.mgmt;
2+
3+
import com.auth0.json.mgmt.sessions.Session;
4+
import com.auth0.net.BaseRequest;
5+
import com.auth0.net.Request;
6+
import com.auth0.net.VoidRequest;
7+
import com.auth0.net.client.Auth0HttpClient;
8+
import com.auth0.net.client.HttpMethod;
9+
import com.auth0.utils.Asserts;
10+
import com.fasterxml.jackson.core.type.TypeReference;
11+
import okhttp3.HttpUrl;
12+
13+
14+
/**
15+
* Class that provides an implementation of the Sessions methods of the Management API as defined in https://auth0.com/docs/api/management/v2#!/Sessions
16+
* <p>
17+
* This class is not thread-safe.
18+
* @see ManagementAPI
19+
*/
20+
@SuppressWarnings("WeakerAccess")
21+
public class SessionsEntity extends BaseManagementEntity{
22+
23+
SessionsEntity(Auth0HttpClient client, HttpUrl baseUrl, TokenProvider tokenProvider) {
24+
super(client, baseUrl, tokenProvider);
25+
}
26+
27+
/**
28+
* Request the session for a given session ID.
29+
* A token with scope {@code read:sessions} is needed.
30+
* See <a href="https://auth0.com/docs/api/management/v2/sessions/get-session">https://auth0.com/docs/api/management/v2/sessions/get-session</a>
31+
* @param sessionId the session ID.
32+
* @return a Request to execute.
33+
*/
34+
public Request<Session> get(String sessionId){
35+
Asserts.assertNotNull(sessionId, "session ID");
36+
37+
String url = baseUrl
38+
.newBuilder()
39+
.addPathSegments("api/v2/sessions")
40+
.addPathSegment(sessionId)
41+
.build()
42+
.toString();
43+
44+
return new BaseRequest<>(client, tokenProvider, url, HttpMethod.GET, new TypeReference<Session>() {
45+
});
46+
}
47+
48+
/**
49+
* Delete the session for a given session ID.
50+
* A token with scope {@code delete:sessions} is needed.
51+
* See <a href="https://auth0.com/docs/api/management/v2/sessions/delete-session">https://auth0.com/docs/api/management/v2/sessions/delete-session</a>
52+
* @param sessionId the session ID.
53+
* @return a Request to execute.
54+
*/
55+
public Request<Void> delete(String sessionId){
56+
Asserts.assertNotNull(sessionId, "session ID");
57+
58+
String url = baseUrl
59+
.newBuilder()
60+
.addPathSegments("api/v2/sessions")
61+
.addPathSegment(sessionId)
62+
.build()
63+
.toString();
64+
65+
return new VoidRequest(client, tokenProvider, url, HttpMethod.DELETE);
66+
}
67+
}

src/main/java/com/auth0/client/mgmt/UsersEntity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
import com.auth0.json.mgmt.users.RecoveryCode;
1414
import com.auth0.json.mgmt.users.User;
1515
import com.auth0.json.mgmt.users.UsersPage;
16-
import com.auth0.json.mgmt.users.refreshtokens.RefreshTokensPage;
17-
import com.auth0.json.mgmt.users.sessions.SessionsPage;
16+
import com.auth0.json.mgmt.refreshtokens.RefreshTokensPage;
17+
import com.auth0.json.mgmt.sessions.SessionsPage;
1818
import com.auth0.net.EmptyBodyRequest;
1919
import com.auth0.net.BaseRequest;
2020
import com.auth0.net.Request;

src/main/java/com/auth0/client/mgmt/filter/CheckpointPaginationFilter.java

Lines changed: 0 additions & 38 deletions
This file was deleted.

src/main/java/com/auth0/json/mgmt/users/refreshtokens/Device.java renamed to src/main/java/com/auth0/json/mgmt/refreshtokens/Device.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.auth0.json.mgmt.users.refreshtokens;
1+
package com.auth0.json.mgmt.refreshtokens;
22

33
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
44
import com.fasterxml.jackson.annotation.JsonInclude;

src/main/java/com/auth0/json/mgmt/users/refreshtokens/RefreshToken.java renamed to src/main/java/com/auth0/json/mgmt/refreshtokens/RefreshToken.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.auth0.json.mgmt.users.refreshtokens;
1+
package com.auth0.json.mgmt.refreshtokens;
22

33
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
44
import com.fasterxml.jackson.annotation.JsonInclude;

src/main/java/com/auth0/json/mgmt/users/refreshtokens/RefreshTokensPage.java renamed to src/main/java/com/auth0/json/mgmt/refreshtokens/RefreshTokensPage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.auth0.json.mgmt.users.refreshtokens;
1+
package com.auth0.json.mgmt.refreshtokens;
22

33
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
44
import com.fasterxml.jackson.annotation.JsonInclude;

src/main/java/com/auth0/json/mgmt/users/refreshtokens/ResourceServer.java renamed to src/main/java/com/auth0/json/mgmt/refreshtokens/ResourceServer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.auth0.json.mgmt.users.refreshtokens;
1+
package com.auth0.json.mgmt.refreshtokens;
22

33
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
44
import com.fasterxml.jackson.annotation.JsonInclude;

src/main/java/com/auth0/json/mgmt/users/sessions/Authentication.java renamed to src/main/java/com/auth0/json/mgmt/sessions/Authentication.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.auth0.json.mgmt.users.sessions;
1+
package com.auth0.json.mgmt.sessions;
22

33
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
44
import com.fasterxml.jackson.annotation.JsonInclude;

0 commit comments

Comments
 (0)