All URIs are relative to http://localhost
Method | HTTP request | Description |
---|---|---|
acceptConsentRequest | PUT /oauth2/auth/requests/consent/accept | Accept a consent request |
acceptLoginRequest | PUT /oauth2/auth/requests/login/accept | Accept a login request |
acceptLogoutRequest | PUT /oauth2/auth/requests/logout/accept | Accept a logout request |
createJsonWebKeySet | POST /keys/{set} | Generate a new JSON Web Key |
createOAuth2Client | POST /clients | Create an OAuth 2.0 client |
deleteJsonWebKey | DELETE /keys/{set}/{kid} | Delete a JSON Web Key |
deleteJsonWebKeySet | DELETE /keys/{set} | Delete a JSON Web Key Set |
deleteOAuth2Client | DELETE /clients/{id} | Deletes an OAuth 2.0 Client |
flushInactiveOAuth2Tokens | POST /oauth2/flush | Flush Expired OAuth2 Access Tokens |
getConsentRequest | GET /oauth2/auth/requests/consent | Get consent request information |
getJsonWebKey | GET /keys/{set}/{kid} | Fetch a JSON Web Key |
getJsonWebKeySet | GET /keys/{set} | Retrieve a JSON Web Key Set |
getLoginRequest | GET /oauth2/auth/requests/login | Get a login request |
getLogoutRequest | GET /oauth2/auth/requests/logout | Get a logout request |
getOAuth2Client | GET /clients/{id} | Get an OAuth 2.0 Client. |
getVersion | GET /version | Get service version |
introspectOAuth2Token | POST /oauth2/introspect | Introspect OAuth2 tokens |
isInstanceAlive | GET /health/alive | Check alive status |
listOAuth2Clients | GET /clients | List OAuth 2.0 Clients |
listSubjectConsentSessions | GET /oauth2/auth/sessions/consent | Lists all consent sessions of a subject |
prometheus | GET /metrics/prometheus | Get snapshot metrics from the Hydra service. If you're using k8s, you can then add annotations to your deployment like so: |
rejectConsentRequest | PUT /oauth2/auth/requests/consent/reject | Reject a consent request |
rejectLoginRequest | PUT /oauth2/auth/requests/login/reject | Reject a login request |
rejectLogoutRequest | PUT /oauth2/auth/requests/logout/reject | Reject a logout request |
revokeAuthenticationSession | DELETE /oauth2/auth/sessions/login | Invalidates all login sessions of a certain user Invalidates a subject's authentication session |
revokeConsentSessions | DELETE /oauth2/auth/sessions/consent | Revokes consent sessions of a subject for a specific OAuth 2.0 Client |
updateJsonWebKey | PUT /keys/{set}/{kid} | Update a JSON Web Key |
updateJsonWebKeySet | PUT /keys/{set} | Update a JSON Web Key Set |
updateOAuth2Client | PUT /clients/{id} | Update an OAuth 2.0 Client |
CompletedRequest acceptConsentRequest(consentChallenge, body)
Accept a consent request
When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY Hydra asks the login provider to authenticate the subject and then tell ORY Hydra now about it. If the subject authenticated, he/she must now be asked if the OAuth 2.0 Client which initiated the flow should be allowed to access the resources on the subject's behalf. The consent provider which handles this request and is a web app implemented and hosted by you. It shows a subject interface which asks the subject to grant or deny the client access to the requested scope ("Application my-dropbox-app wants write access to all your private files"). The consent challenge is appended to the consent provider's URL to which the subject's user-agent (browser) is redirected to. The consent provider uses that challenge to fetch information on the OAuth2 request and then tells ORY Hydra if the subject accepted or rejected the request. This endpoint tells ORY Hydra that the subject has authorized the OAuth 2.0 client to access resources on his/her behalf. The consent provider includes additional information, such as session data for access and ID tokens, and if the consent request should be used as basis for future requests. The response contains a redirect URL which the consent provider should redirect the user-agent to.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String consentChallenge = "consentChallenge_example"; // String |
AcceptConsentRequest body = new AcceptConsentRequest(); // AcceptConsentRequest |
try {
CompletedRequest result = apiInstance.acceptConsentRequest(consentChallenge, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#acceptConsentRequest");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
consentChallenge | String | ||
body | AcceptConsentRequest | [optional] |
No authorization required
- Content-Type: application/json
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | completedRequest | - |
404 | genericError | - |
500 | genericError | - |
CompletedRequest acceptLoginRequest(loginChallenge, body)
Accept a login request
When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY Hydra asks the login provider (sometimes called "identity provider") to authenticate the subject and then tell ORY Hydra now about it. The login provider is an web-app you write and host, and it must be able to authenticate ("show the subject a login screen") a subject (in OAuth2 the proper name for subject is "resource owner"). The authentication challenge is appended to the login provider URL to which the subject's user-agent (browser) is redirected to. The login provider uses that challenge to fetch information on the OAuth2 request and then accept or reject the requested authentication process. This endpoint tells ORY Hydra that the subject has successfully authenticated and includes additional information such as the subject's ID and if ORY Hydra should remember the subject's subject agent for future authentication attempts by setting a cookie. The response contains a redirect URL which the login provider should redirect the user-agent to.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String loginChallenge = "loginChallenge_example"; // String |
AcceptLoginRequest body = new AcceptLoginRequest(); // AcceptLoginRequest |
try {
CompletedRequest result = apiInstance.acceptLoginRequest(loginChallenge, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#acceptLoginRequest");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
loginChallenge | String | ||
body | AcceptLoginRequest | [optional] |
No authorization required
- Content-Type: application/json
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | completedRequest | - |
401 | genericError | - |
404 | genericError | - |
500 | genericError | - |
CompletedRequest acceptLogoutRequest(logoutChallenge)
Accept a logout request
When a user or an application requests ORY Hydra to log out a user, this endpoint is used to confirm that logout request. No body is required. The response contains a redirect URL which the consent provider should redirect the user-agent to.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String logoutChallenge = "logoutChallenge_example"; // String |
try {
CompletedRequest result = apiInstance.acceptLogoutRequest(logoutChallenge);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#acceptLogoutRequest");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
logoutChallenge | String |
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | completedRequest | - |
404 | genericError | - |
500 | genericError | - |
JSONWebKeySet createJsonWebKeySet(set, body)
Generate a new JSON Web Key
This endpoint is capable of generating JSON Web Key Sets for you. There a different strategies available, such as symmetric cryptographic keys (HS256, HS512) and asymetric cryptographic keys (RS256, ECDSA). If the specified JSON Web Key Set does not exist, it will be created. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String set = "set_example"; // String | The set
JsonWebKeySetGeneratorRequest body = new JsonWebKeySetGeneratorRequest(); // JsonWebKeySetGeneratorRequest |
try {
JSONWebKeySet result = apiInstance.createJsonWebKeySet(set, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#createJsonWebKeySet");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
set | String | The set | |
body | JsonWebKeySetGeneratorRequest | [optional] |
No authorization required
- Content-Type: application/json
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
201 | JSONWebKeySet | - |
401 | genericError | - |
403 | genericError | - |
500 | genericError | - |
OAuth2Client createOAuth2Client(body)
Create an OAuth 2.0 client
Create a new OAuth 2.0 client If you pass `client_secret` the secret will be used, otherwise a random secret will be generated. The secret will be returned in the response and you will not be able to retrieve it later on. Write the secret down and keep it somwhere safe. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will need an OAuth 2.0 Client as well. Make sure that this endpoint is well protected and only callable by first-party components.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
OAuth2Client body = new OAuth2Client(); // OAuth2Client |
try {
OAuth2Client result = apiInstance.createOAuth2Client(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#createOAuth2Client");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
body | OAuth2Client |
No authorization required
- Content-Type: application/json
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
201 | oAuth2Client | - |
400 | genericError | - |
409 | genericError | - |
500 | genericError | - |
deleteJsonWebKey(kid, set)
Delete a JSON Web Key
Use this endpoint to delete a single JSON Web Key. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String kid = "kid_example"; // String | The kid of the desired key
String set = "set_example"; // String | The set
try {
apiInstance.deleteJsonWebKey(kid, set);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#deleteJsonWebKey");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
kid | String | The kid of the desired key | |
set | String | The set |
null (empty response body)
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
204 | Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. | - |
401 | genericError | - |
403 | genericError | - |
500 | genericError | - |
deleteJsonWebKeySet(set)
Delete a JSON Web Key Set
Use this endpoint to delete a complete JSON Web Key Set and all the keys in that set. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String set = "set_example"; // String | The set
try {
apiInstance.deleteJsonWebKeySet(set);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#deleteJsonWebKeySet");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
set | String | The set |
null (empty response body)
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
204 | Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. | - |
401 | genericError | - |
403 | genericError | - |
500 | genericError | - |
deleteOAuth2Client(id)
Deletes an OAuth 2.0 Client
Delete an existing OAuth 2.0 Client by its ID. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will need an OAuth 2.0 Client as well. Make sure that this endpoint is well protected and only callable by first-party components.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String id = "id_example"; // String | The id of the OAuth 2.0 Client.
try {
apiInstance.deleteOAuth2Client(id);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#deleteOAuth2Client");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
id | String | The id of the OAuth 2.0 Client. |
null (empty response body)
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
204 | Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. | - |
404 | genericError | - |
500 | genericError | - |
flushInactiveOAuth2Tokens(body)
Flush Expired OAuth2 Access Tokens
This endpoint flushes expired OAuth2 access tokens from the database. You can set a time after which no tokens will be not be touched, in case you want to keep recent tokens for auditing. Refresh tokens can not be flushed as they are deleted automatically when performing the refresh flow.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
FlushInactiveOAuth2TokensRequest body = new FlushInactiveOAuth2TokensRequest(); // FlushInactiveOAuth2TokensRequest |
try {
apiInstance.flushInactiveOAuth2Tokens(body);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#flushInactiveOAuth2Tokens");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
body | FlushInactiveOAuth2TokensRequest | [optional] |
null (empty response body)
No authorization required
- Content-Type: application/json
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
204 | Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. | - |
401 | genericError | - |
500 | genericError | - |
ConsentRequest getConsentRequest(consentChallenge)
Get consent request information
When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY Hydra asks the login provider to authenticate the subject and then tell ORY Hydra now about it. If the subject authenticated, he/she must now be asked if the OAuth 2.0 Client which initiated the flow should be allowed to access the resources on the subject's behalf. The consent provider which handles this request and is a web app implemented and hosted by you. It shows a subject interface which asks the subject to grant or deny the client access to the requested scope ("Application my-dropbox-app wants write access to all your private files"). The consent challenge is appended to the consent provider's URL to which the subject's user-agent (browser) is redirected to. The consent provider uses that challenge to fetch information on the OAuth2 request and then tells ORY Hydra if the subject accepted or rejected the request.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String consentChallenge = "consentChallenge_example"; // String |
try {
ConsentRequest result = apiInstance.getConsentRequest(consentChallenge);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#getConsentRequest");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
consentChallenge | String |
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | consentRequest | - |
404 | genericError | - |
409 | genericError | - |
500 | genericError | - |
JSONWebKeySet getJsonWebKey(kid, set)
Fetch a JSON Web Key
This endpoint returns a singular JSON Web Key, identified by the set and the specific key ID (kid).
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String kid = "kid_example"; // String | The kid of the desired key
String set = "set_example"; // String | The set
try {
JSONWebKeySet result = apiInstance.getJsonWebKey(kid, set);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#getJsonWebKey");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
kid | String | The kid of the desired key | |
set | String | The set |
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | JSONWebKeySet | - |
404 | genericError | - |
500 | genericError | - |
JSONWebKeySet getJsonWebKeySet(set)
Retrieve a JSON Web Key Set
This endpoint can be used to retrieve JWK Sets stored in ORY Hydra. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String set = "set_example"; // String | The set
try {
JSONWebKeySet result = apiInstance.getJsonWebKeySet(set);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#getJsonWebKeySet");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
set | String | The set |
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | JSONWebKeySet | - |
401 | genericError | - |
403 | genericError | - |
500 | genericError | - |
LoginRequest getLoginRequest(loginChallenge)
Get a login request
When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY Hydra asks the login provider (sometimes called "identity provider") to authenticate the subject and then tell ORY Hydra now about it. The login provider is an web-app you write and host, and it must be able to authenticate ("show the subject a login screen") a subject (in OAuth2 the proper name for subject is "resource owner"). The authentication challenge is appended to the login provider URL to which the subject's user-agent (browser) is redirected to. The login provider uses that challenge to fetch information on the OAuth2 request and then accept or reject the requested authentication process.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String loginChallenge = "loginChallenge_example"; // String |
try {
LoginRequest result = apiInstance.getLoginRequest(loginChallenge);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#getLoginRequest");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
loginChallenge | String |
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | loginRequest | - |
400 | genericError | - |
404 | genericError | - |
409 | genericError | - |
500 | genericError | - |
LogoutRequest getLogoutRequest(logoutChallenge)
Get a logout request
Use this endpoint to fetch a logout request.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String logoutChallenge = "logoutChallenge_example"; // String |
try {
LogoutRequest result = apiInstance.getLogoutRequest(logoutChallenge);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#getLogoutRequest");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
logoutChallenge | String |
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | logoutRequest | - |
404 | genericError | - |
500 | genericError | - |
OAuth2Client getOAuth2Client(id)
Get an OAuth 2.0 Client.
Get an OAUth 2.0 client by its ID. This endpoint never returns passwords. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will need an OAuth 2.0 Client as well. Make sure that this endpoint is well protected and only callable by first-party components.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String id = "id_example"; // String | The id of the OAuth 2.0 Client.
try {
OAuth2Client result = apiInstance.getOAuth2Client(id);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#getOAuth2Client");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
id | String | The id of the OAuth 2.0 Client. |
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | oAuth2Client | - |
401 | genericError | - |
500 | genericError | - |
Version getVersion()
Get service version
This endpoint returns the service version typically notated using semantic versioning. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
try {
Version result = apiInstance.getVersion();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#getVersion");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
This endpoint does not need any parameter.
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | version | - |
OAuth2TokenIntrospection introspectOAuth2Token(token, scope)
Introspect OAuth2 tokens
The introspection endpoint allows to check if a token (both refresh and access) is active or not. An active token is neither expired nor revoked. If a token is active, additional information on the token will be included. You can set additional data for a token by setting `accessTokenExtra` during the consent flow. For more information read this blog post.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.auth.*;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
// Configure HTTP basic authorization: basic
HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
basic.setUsername("YOUR USERNAME");
basic.setPassword("YOUR PASSWORD");
// Configure OAuth2 access token for authorization: oauth2
OAuth oauth2 = (OAuth) defaultClient.getAuthentication("oauth2");
oauth2.setAccessToken("YOUR ACCESS TOKEN");
AdminApi apiInstance = new AdminApi(defaultClient);
String token = "token_example"; // String | The string value of the token. For access tokens, this is the \\\"access_token\\\" value returned from the token endpoint defined in OAuth 2.0. For refresh tokens, this is the \\\"refresh_token\\\" value returned.
String scope = "scope_example"; // String | An optional, space separated list of required scopes. If the access token was not granted one of the scopes, the result of active will be false.
try {
OAuth2TokenIntrospection result = apiInstance.introspectOAuth2Token(token, scope);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#introspectOAuth2Token");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
token | String | The string value of the token. For access tokens, this is the \"access_token\" value returned from the token endpoint defined in OAuth 2.0. For refresh tokens, this is the \"refresh_token\" value returned. | |
scope | String | An optional, space separated list of required scopes. If the access token was not granted one of the scopes, the result of active will be false. | [optional] |
- Content-Type: application/x-www-form-urlencoded
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | oAuth2TokenIntrospection | - |
401 | genericError | - |
500 | genericError | - |
HealthStatus isInstanceAlive()
Check alive status
This endpoint returns a 200 status code when the HTTP server is up running. This status does currently not include checks whether the database connection is working. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set. Be aware that if you are running multiple nodes of this service, the health status will never refer to the cluster state, only to a single instance.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
try {
HealthStatus result = apiInstance.isInstanceAlive();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#isInstanceAlive");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
This endpoint does not need any parameter.
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | healthStatus | - |
500 | genericError | - |
List<OAuth2Client> listOAuth2Clients(limit, offset)
List OAuth 2.0 Clients
This endpoint lists all clients in the database, and never returns client secrets. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will need an OAuth 2.0 Client as well. Make sure that this endpoint is well protected and only callable by first-party components. The "Link" header is also included in successful responses, which contains one or more links for pagination, formatted like so: '<https://hydra-url/admin/clients?limit={limit}&offset={offset}>; rel="{page}"', where page is one of the following applicable pages: 'first', 'next', 'last', and 'previous'. Multiple links can be included in this header, and will be separated by a comma.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
Long limit = 56L; // Long | The maximum amount of policies returned.
Long offset = 56L; // Long | The offset from where to start looking.
try {
List<OAuth2Client> result = apiInstance.listOAuth2Clients(limit, offset);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#listOAuth2Clients");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
limit | Long | The maximum amount of policies returned. | [optional] |
offset | Long | The offset from where to start looking. | [optional] |
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | A list of clients. | - |
500 | genericError | - |
List<PreviousConsentSession> listSubjectConsentSessions(subject)
Lists all consent sessions of a subject
This endpoint lists all subject's granted consent sessions, including client and granted scope. The "Link" header is also included in successful responses, which contains one or more links for pagination, formatted like so: '<https://hydra-url/admin/oauth2/auth/sessions/consent?subject={user}&limit={limit}&offset={offset}>; rel="{page}"', where page is one of the following applicable pages: 'first', 'next', 'last', and 'previous'. Multiple links can be included in this header, and will be separated by a comma.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String subject = "subject_example"; // String |
try {
List<PreviousConsentSession> result = apiInstance.listSubjectConsentSessions(subject);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#listSubjectConsentSessions");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
subject | String |
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | A list of used consent requests. | - |
400 | genericError | - |
404 | genericError | - |
500 | genericError | - |
prometheus()
Get snapshot metrics from the Hydra service. If you're using k8s, you can then add annotations to your deployment like so:
``` metadata: annotations: prometheus.io/port: "4445" prometheus.io/path: "/metrics/prometheus" ```
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
try {
apiInstance.prometheus();
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#prometheus");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
This endpoint does not need any parameter.
null (empty response body)
No authorization required
- Content-Type: Not defined
- Accept: Not defined
Status code | Description | Response headers |
---|---|---|
200 | Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. | - |
CompletedRequest rejectConsentRequest(consentChallenge, body)
Reject a consent request
When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY Hydra asks the login provider to authenticate the subject and then tell ORY Hydra now about it. If the subject authenticated, he/she must now be asked if the OAuth 2.0 Client which initiated the flow should be allowed to access the resources on the subject's behalf. The consent provider which handles this request and is a web app implemented and hosted by you. It shows a subject interface which asks the subject to grant or deny the client access to the requested scope ("Application my-dropbox-app wants write access to all your private files"). The consent challenge is appended to the consent provider's URL to which the subject's user-agent (browser) is redirected to. The consent provider uses that challenge to fetch information on the OAuth2 request and then tells ORY Hydra if the subject accepted or rejected the request. This endpoint tells ORY Hydra that the subject has not authorized the OAuth 2.0 client to access resources on his/her behalf. The consent provider must include a reason why the consent was not granted. The response contains a redirect URL which the consent provider should redirect the user-agent to.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String consentChallenge = "consentChallenge_example"; // String |
RejectRequest body = new RejectRequest(); // RejectRequest |
try {
CompletedRequest result = apiInstance.rejectConsentRequest(consentChallenge, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#rejectConsentRequest");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
consentChallenge | String | ||
body | RejectRequest | [optional] |
No authorization required
- Content-Type: application/json
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | completedRequest | - |
404 | genericError | - |
500 | genericError | - |
CompletedRequest rejectLoginRequest(loginChallenge, body)
Reject a login request
When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY Hydra asks the login provider (sometimes called "identity provider") to authenticate the subject and then tell ORY Hydra now about it. The login provider is an web-app you write and host, and it must be able to authenticate ("show the subject a login screen") a subject (in OAuth2 the proper name for subject is "resource owner"). The authentication challenge is appended to the login provider URL to which the subject's user-agent (browser) is redirected to. The login provider uses that challenge to fetch information on the OAuth2 request and then accept or reject the requested authentication process. This endpoint tells ORY Hydra that the subject has not authenticated and includes a reason why the authentication was be denied. The response contains a redirect URL which the login provider should redirect the user-agent to.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String loginChallenge = "loginChallenge_example"; // String |
RejectRequest body = new RejectRequest(); // RejectRequest |
try {
CompletedRequest result = apiInstance.rejectLoginRequest(loginChallenge, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#rejectLoginRequest");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
loginChallenge | String | ||
body | RejectRequest | [optional] |
No authorization required
- Content-Type: application/json
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | completedRequest | - |
401 | genericError | - |
404 | genericError | - |
500 | genericError | - |
rejectLogoutRequest(logoutChallenge, body)
Reject a logout request
When a user or an application requests ORY Hydra to log out a user, this endpoint is used to deny that logout request. No body is required. The response is empty as the logout provider has to chose what action to perform next.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String logoutChallenge = "logoutChallenge_example"; // String |
RejectRequest body = new RejectRequest(); // RejectRequest |
try {
apiInstance.rejectLogoutRequest(logoutChallenge, body);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#rejectLogoutRequest");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
logoutChallenge | String | ||
body | RejectRequest | [optional] |
null (empty response body)
No authorization required
- Content-Type: application/json, application/x-www-form-urlencoded
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
204 | Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. | - |
404 | genericError | - |
500 | genericError | - |
revokeAuthenticationSession(subject)
Invalidates all login sessions of a certain user Invalidates a subject's authentication session
This endpoint invalidates a subject's authentication session. After revoking the authentication session, the subject has to re-authenticate at ORY Hydra. This endpoint does not invalidate any tokens and does not work with OpenID Connect Front- or Back-channel logout.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String subject = "subject_example"; // String |
try {
apiInstance.revokeAuthenticationSession(subject);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#revokeAuthenticationSession");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
subject | String |
null (empty response body)
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
204 | Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. | - |
400 | genericError | - |
404 | genericError | - |
500 | genericError | - |
revokeConsentSessions(subject, client)
Revokes consent sessions of a subject for a specific OAuth 2.0 Client
This endpoint revokes a subject's granted consent sessions for a specific OAuth 2.0 Client and invalidates all associated OAuth 2.0 Access Tokens.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String subject = "subject_example"; // String | The subject (Subject) who's consent sessions should be deleted.
String client = "client_example"; // String | If set, deletes only those consent sessions by the Subject that have been granted to the specified OAuth 2.0 Client ID
try {
apiInstance.revokeConsentSessions(subject, client);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#revokeConsentSessions");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
subject | String | The subject (Subject) who's consent sessions should be deleted. | |
client | String | If set, deletes only those consent sessions by the Subject that have been granted to the specified OAuth 2.0 Client ID | [optional] |
null (empty response body)
No authorization required
- Content-Type: Not defined
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
204 | Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. | - |
400 | genericError | - |
404 | genericError | - |
500 | genericError | - |
JSONWebKey updateJsonWebKey(kid, set, body)
Update a JSON Web Key
Use this method if you do not want to let Hydra generate the JWKs for you, but instead save your own. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String kid = "kid_example"; // String | The kid of the desired key
String set = "set_example"; // String | The set
JSONWebKey body = new JSONWebKey(); // JSONWebKey |
try {
JSONWebKey result = apiInstance.updateJsonWebKey(kid, set, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#updateJsonWebKey");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
kid | String | The kid of the desired key | |
set | String | The set | |
body | JSONWebKey | [optional] |
No authorization required
- Content-Type: application/json
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | JSONWebKey | - |
401 | genericError | - |
403 | genericError | - |
500 | genericError | - |
JSONWebKeySet updateJsonWebKeySet(set, body)
Update a JSON Web Key Set
Use this method if you do not want to let Hydra generate the JWKs for you, but instead save your own. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String set = "set_example"; // String | The set
JSONWebKeySet body = new JSONWebKeySet(); // JSONWebKeySet |
try {
JSONWebKeySet result = apiInstance.updateJsonWebKeySet(set, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#updateJsonWebKeySet");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
set | String | The set | |
body | JSONWebKeySet | [optional] |
No authorization required
- Content-Type: application/json
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | JSONWebKeySet | - |
401 | genericError | - |
403 | genericError | - |
500 | genericError | - |
OAuth2Client updateOAuth2Client(id, body)
Update an OAuth 2.0 Client
Update an existing OAuth 2.0 Client. If you pass `client_secret` the secret will be updated and returned via the API. This is the only time you will be able to retrieve the client secret, so write it down and keep it safe. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will need an OAuth 2.0 Client as well. Make sure that this endpoint is well protected and only callable by first-party components.
// Import classes:
import sh.ory.hydra.ApiClient;
import sh.ory.hydra.ApiException;
import sh.ory.hydra.Configuration;
import sh.ory.hydra.models.*;
import sh.ory.hydra.api.AdminApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
AdminApi apiInstance = new AdminApi(defaultClient);
String id = "id_example"; // String |
OAuth2Client body = new OAuth2Client(); // OAuth2Client |
try {
OAuth2Client result = apiInstance.updateOAuth2Client(id, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AdminApi#updateOAuth2Client");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Name | Type | Description | Notes |
---|---|---|---|
id | String | ||
body | OAuth2Client |
No authorization required
- Content-Type: application/json
- Accept: application/json
Status code | Description | Response headers |
---|---|---|
200 | oAuth2Client | - |
500 | genericError | - |