Package de.svws_nrw.data.oauth2
Klasse OAuth2Client
java.lang.Object
de.svws_nrw.data.oauth2.OAuth2Client
Diese Klasse dient dem Verbinden mit einem OAuth2 Server mit ggf. vorhandenen Token. Das Token wird,
sofern nicht im Cache vorhanden oder ungültig über das Client-Secret und Client Id erzeugt.
Der Client stellt darüber hinaus HTTP-Methoden zum Verbinden mit OAuth2-Servern bereit.
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibung<T> HttpResponse
<T> get
(String path, HttpResponse.BodyHandler<T> handler) Führt ein GET-Request gegen den gegebenen Pfad ausstatic OAuth2Client
Öffentliche Methode um einen OAuth2-Client anhand desDTOSchuleOAuthSecrets
zu erhaltenstatic OAuth2Client
Öffentliche Methode, um einenOAuth2Client
für die gegebene URL zu erhalten. vgl.getToken()
Getter für dasOAuth2Token
static OAuth2Token
getTokenfromJson
(String json) Wandelt einen JSON-String in einOAuth2Token
um.<T> HttpResponse
<T> postEmpty
(String path, HttpResponse.BodyHandler<T> handler) Führt ein POST-Request gegen den gegebenen Pfad aus<T> HttpResponse
<T> postFormUrlEncoded
(String path, HttpResponse.BodyHandler<T> handler, String... keyValuePairs) Sendet Daten mit Content-Type application/x-www-form-urlencoded.<T> HttpResponse
<T> postMultipart
(String path, String filename, byte[] bytes, HttpResponse.BodyHandler<T> handler) Sendet Daten an eine URL mit dem Content-Type multipart/form-data.
-
Methodendetails
-
getClient
Öffentliche Methode, um einenOAuth2Client
für die gegebene URL zu erhalten. vgl.getClient(String, String, String)
mitOAUTH2_PATH
- Parameter:
url
- die URL zu der der OAuth2Client verbunden werden sollbasicAuth
- für die Basisauthentifizierung- Gibt zurück:
- den OAuth2Client
- Löst aus:
ApiOperationException
- im Fehlerfall
-
getClient
Öffentliche Methode um einen OAuth2-Client anhand desDTOSchuleOAuthSecrets
zu erhalten- Parameter:
dto
- das DTO mit den OAuth2-Secrets der Schule- Gibt zurück:
- den OAuth2-Client
- Löst aus:
ApiOperationException
- im Fehlerfall
-
getToken
Getter für dasOAuth2Token
- Gibt zurück:
- das
OAuth2Token
-
postMultipart
public <T> HttpResponse<T> postMultipart(String path, String filename, byte[] bytes, HttpResponse.BodyHandler<T> handler) throws ApiOperationException Sendet Daten an eine URL mit dem Content-Type multipart/form-data.- Typparameter:
T
- der generische Typ derHttpResponse
und des entsprechendenHttpResponse.BodyHandler
- Parameter:
path
- der Pfad als Teil der URL an den der Request gesendet wirdfilename
- der Dateiname, der verwendet wirdbytes
- die Bytes, die innerhalb des Files gesendet werdenhandler
- der BodyHandler für die Response- Gibt zurück:
- die Response
- Löst aus:
ApiOperationException
- im Fehlerfall
-
postFormUrlEncoded
public <T> HttpResponse<T> postFormUrlEncoded(String path, HttpResponse.BodyHandler<T> handler, String... keyValuePairs) throws ApiOperationException Sendet Daten mit Content-Type application/x-www-form-urlencoded. Dabei werden die übergebenen Strings als Schlüssel-Wert-Paare betrachtet- Typparameter:
T
- generischer Typ desHttpResponse
undHttpResponse.BodyHandler
- Parameter:
path
- der Pfad als Teil der URL für diesen OauthClient, an den die Daten geschickt werdenhandler
- der BodyHandler für den Response-BodykeyValuePairs
- Schlüssel-Wert-Paare für die Form-Parameter, gerader Index = Schlüssel, ungerader Index = Wert- Gibt zurück:
- die Response
- Löst aus:
ApiOperationException
- im Fehlerfall
-
postEmpty
public <T> HttpResponse<T> postEmpty(String path, HttpResponse.BodyHandler<T> handler) throws ApiOperationException Führt ein POST-Request gegen den gegebenen Pfad aus- Typparameter:
T
- generischer Typ desHttpResponse
undHttpResponse.BodyHandler
- Parameter:
path
- der Pfad als Teil der URL für diesen OauthClient, an den das POST geschickt wirdhandler
- der BodyHandler für den Response-Body- Gibt zurück:
- die Response
- Löst aus:
ApiOperationException
- im Fehlerfall
-
get
public <T> HttpResponse<T> get(String path, HttpResponse.BodyHandler<T> handler) throws ApiOperationException Führt ein GET-Request gegen den gegebenen Pfad aus- Typparameter:
T
- generischer Typ desHttpResponse
undHttpResponse.BodyHandler
- Parameter:
path
- der Pfad als Teil der URL für diesen OauthClient, an den das GET geschickt wirdhandler
- der BodyHandler für den Response-Body- Gibt zurück:
- die Response
- Löst aus:
ApiOperationException
- im Fehlerfall
-
getTokenfromJson
public static OAuth2Token getTokenfromJson(String json) throws com.fasterxml.jackson.core.JsonProcessingException Wandelt einen JSON-String in einOAuth2Token
um.- Parameter:
json
- der JSON-String- Gibt zurück:
- das OAuth2-Token
- Löst aus:
com.fasterxml.jackson.core.JsonProcessingException
- wenn die Umwandlung fehlschlägt
-