Class BaseService
- java.lang.Object
-
- io.jans.ca.plugin.adminui.service.BaseService
-
- Direct Known Subclasses:
AUIConfigurationService,LicenseDetailsService,OAuth2Service
public class BaseService extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected io.jans.configapi.core.service.ConfigHttpServicehttpServiceprotected com.fasterxml.jackson.databind.ObjectMappermapperprotected static String[]TLS_ALLOWED_CIPHER_SUITESprotected static String[]TLS_ENABLED_PROTOCOLS
-
Constructor Summary
Constructors Constructor Description BaseService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DCRResponseexecuteDCR(String ssaJwt)Performs Dynamic Client Registration (DCR) using the provided Software Statement Assertion (SSA).io.jans.as.client.TokenResponsegetToken(io.jans.as.client.TokenRequest tokenRequest, String tokenEndpoint)Obtain an access token from the authorization server using the provided token request.io.jans.as.client.TokenResponsegetToken(io.jans.as.client.TokenRequest tokenRequest, String tokenEndpoint, String userInfoJwt)Sends a token request to the specified token endpoint using values from the provided TokenRequest.Optional<Map<String,Object>>introspectToken(String accessToken, String introspectionEndpoint)Perform token introspection against the given introspection endpoint.
-
-
-
Field Detail
-
httpService
@Inject protected io.jans.configapi.core.service.ConfigHttpService httpService
-
mapper
protected com.fasterxml.jackson.databind.ObjectMapper mapper
-
TLS_ENABLED_PROTOCOLS
protected static final String[] TLS_ENABLED_PROTOCOLS
-
TLS_ALLOWED_CIPHER_SUITES
protected static final String[] TLS_ALLOWED_CIPHER_SUITES
-
-
Method Detail
-
getToken
public io.jans.as.client.TokenResponse getToken(io.jans.as.client.TokenRequest tokenRequest, String tokenEndpoint)Obtain an access token from the authorization server using the provided token request.- Parameters:
tokenRequest- the token request parameters (may include grant type, code, verifier, client credentials, etc.)tokenEndpoint- the token endpoint URL to send the request to- Returns:
- a TokenResponse containing the token data on success, or
nullon failure
-
getToken
public io.jans.as.client.TokenResponse getToken(io.jans.as.client.TokenRequest tokenRequest, String tokenEndpoint, String userInfoJwt)Sends a token request to the specified token endpoint using values from the provided TokenRequest.Constructs a form from the token request fields (code, scope, code_verifier, grant_type, redirect_uri, client_id) and includes the optional `ujwt` parameter when `userInfoJwt` is provided, then POSTs the form to `tokenEndpoint` using the credentials from `tokenRequest`.
- Parameters:
tokenRequest- values used to build the token request (authorization code, PKCE verifier, grant type, redirect URI, client id, and encoded credentials)tokenEndpoint- URL of the authorization server token endpointuserInfoJwt- optional JWT to include as the `ujwt` form parameter when present- Returns:
- a TokenResponse populated from the endpoint JSON on HTTP 200; `null` otherwise
-
executeDCR
public DCRResponse executeDCR(String ssaJwt)
Performs Dynamic Client Registration (DCR) using the provided Software Statement Assertion (SSA).- Parameters:
ssaJwt- the SSA JWT issued by the Scan server- Returns:
- a DCRResponse containing the registered client's ID, secret, issuer (opHost), hardwareId, and scan hostname when registration succeeds; `null` if registration fails
-
introspectToken
public Optional<Map<String,Object>> introspectToken(String accessToken, String introspectionEndpoint) throws NoSuchAlgorithmException, KeyManagementException
Perform token introspection against the given introspection endpoint.- Parameters:
accessToken- the access token to be introspectedintrospectionEndpoint- the full URL of the introspection endpoint- Returns:
- an Optional containing the introspection response as a Map when the server returns HTTP 200, `Optional.empty()` otherwise
- Throws:
NoSuchAlgorithmException- if a required cryptographic algorithm is unavailable when building the HTTP clientKeyManagementException- if an error occurs initializing key management for the HTTP client
-
-