Class OpenAuthClientController

java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler
com.skava.core.security.CommonExceptionHandler
com.skava.core.errorhandler.ExceptionResponseProcessor
com.skava.auth.helper.AuthExceptionHandler
com.skava.auth.web.OpenAuthClientController
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.context.MessageSourceAware

@RestController public class OpenAuthClientController extends AuthExceptionHandler
The class act as a controller to handle oauthclients manipulation.
List of operations handled by this controller are
  • Create OAuthClient
  • Retrieve OAuthClient Using OAuthClient identifier
  • Retrieve All OAuthClient Using Business identifier
  • Update OAuthClient Details Using OAuthClient identifier
Author:
Infosys Equinox
  • Field Summary

    Fields inherited from class com.skava.auth.helper.AuthExceptionHandler

    CONST_API_VERSION_DEFAULT, DEFAULT_LIMIT, X_TOTAL_COUNT

    Fields inherited from class org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler

    logger, PAGE_NOT_FOUND_LOG_CATEGORY, pageNotFoundLogger
  • Constructor Summary

    Constructors
    Constructor
    Description
    The class constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.springframework.http.ResponseEntity<Object>
    authorize(String version, Long collectionId, long storeId, String authToken, ClientUserVO clientUser, String sessionId, String responseType, String clientId, String redirectUri, String scope, String state, String nonce, String locale)
    This API authorize a OAuthClient.
    org.springframework.http.ResponseEntity<Object>
    createClientAccessToken(jakarta.servlet.http.HttpServletRequest httpRequest, String version, @Valid OAuthClientAccessTokenVO oAuthClientAccessTokenVO, Long collectionId)
     
    org.springframework.http.ResponseEntity<Object>
    createOpenIdClient(jakarta.servlet.http.HttpServletRequest request, String version, long storeId, Long collectionId, String authToken, @Valid OAuthClientVO oAuthClient, String locale)
    This API creates a OAuthClient.
    org.springframework.http.ResponseEntity<Object>
    deleteOAuthClient(String version, Long businessId, Long collectionId, String authToken, long storeId, String clientId)
    This service is used to delete oauth clients for the given clientId and collectionId.
    org.springframework.http.ResponseEntity<Object>
    getAllOAuthClients(jakarta.servlet.http.HttpServletRequest httpRequest, String version, Long businessId, Long collectionId, long storeId, String authToken, String filters, String sort, int page, int size, String locale)
    This API load OAuthClient(s) based on search term.
    getJSONWebKeySet(String version, String clientId)
    This service is used to check status of the Authorization microservice.
    org.springframework.http.ResponseEntity<Object>
    getOAuthClientById(jakarta.servlet.http.HttpServletRequest request, String locale, String version, long storeId, Long collectionId, String authToken, String clientId)
    This method is used to load single OAuthClient based on the given request.
    org.springframework.http.ResponseEntity<Object>
    updateOpenIdClient(jakarta.servlet.http.HttpServletRequest httpRequest, String clientId, String version, Long businessId, long storeId, boolean refreshSecret, Long collectionId, String authToken, @Valid OAuthClientVO client, String locale)
    This API updates a OAuthClient.

    Methods inherited from class com.skava.core.errorhandler.ExceptionResponseProcessor

    getExceptionResponse, handleExceptionInternal, handleMethodArgumentNotValid

    Methods inherited from class com.skava.core.security.CommonExceptionHandler

    handleExceptionInternal, handleInternalException

    Methods inherited from class org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler

    createProblemDetail, createResponseEntity, getMessageSource, handleAsyncRequestNotUsableException, handleAsyncRequestTimeoutException, handleConversionNotSupported, handleErrorResponseException, handleException, handleHandlerMethodValidationException, handleHttpMediaTypeNotAcceptable, handleHttpMediaTypeNotSupported, handleHttpMessageNotReadable, handleHttpMessageNotWritable, handleHttpRequestMethodNotSupported, handleMaxUploadSizeExceededException, handleMethodValidationException, handleMissingPathVariable, handleMissingServletRequestParameter, handleMissingServletRequestPart, handleNoHandlerFoundException, handleNoResourceFoundException, handleServletRequestBindingException, handleTypeMismatch, setMessageSource

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • OpenAuthClientController

      public OpenAuthClientController()
      The class constructor.
  • Method Details

    • createOpenIdClient

      @PostMapping("/openidclients") @ResponseStatus(CREATED) @PreAuthorize("hasPrivilegeForServiceAndCollection(\'auth/create/openidclients\', \'auth\', #collectionId)") @Audit(action="createOpenIdClient", repository="collectionRepository") public org.springframework.http.ResponseEntity<Object> createOpenIdClient(@IgnoreAudit jakarta.servlet.http.HttpServletRequest request, @RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @RequestHeader(value="x-store-id",required=false,defaultValue="0") @AuditField(field="STORE_ID") long storeId, @RequestHeader(value="x-collection-id",required=true) @AuditField(field="COLLECTIONID") Long collectionId, @RequestHeader("x-auth-token") @AuditField(field="AUTH_TOKEN") String authToken, @RequestBody @Valid @AuditField(field="OAUTHCLIENT") @Valid OAuthClientVO oAuthClient, @RequestHeader(value="locale",required=false,defaultValue="en_US") @AuditField(field="LOCALE") String locale)
      This API creates a OAuthClient.
      Parameters:
      request - a HttpServletRequest object.
      version - It hold the value of version number of API. Using this parameter we can access the different version of the API. It is currently unused.
      authToken - a String object. This field holds a valid authorization token generated using the Authorization microservice for an user. Auth token (JWT format) represents claims containing roles and privileges of the user accessing this API. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. Since the token is a required field for this API it has to be generated before hand by invoking the /auth/sessions API provided by Authorization microservice. The output is three Base64 strings separated by dots that can be easily passed in HTML and HTTP environments, while being more compact when compared to XML-based standards such as SAML. Thus generated token has to be passed to this service and the request will be processed only if the following conditions are met:
      • Token validation against the secret key
      • Expiry time should be in the future
      • Necessary privileges are available for the user to perform the action on the subjected resource
      .
      storeId - Refers to the unique identifier of the store.
      oAuthClient - a OAuthClientVO object. This request body holds the valid collection details to create. Collection is the top most entity of a microservice under which all the other entities/resources reside. Each collection represents an instance of the microservice with configured properties and these properties can be modified to bring in a different behavior per collection of the same microservice. Store association is the process of associating a microservice collection to a store along with its respective sub-entity. This way storefront can fetch/store the required information from that respective association.
      locale - a String object. API Response and error messages will be responded in the locale mentioned in this parameter. Locale needs to be mentioned in Java standard locale format.
      collectionId - Holds a valid collection identifier of this microservice. The requested operation will be performed on this collection identifier. A collection is the topmost entity of a microservice under which all the other entities/resources reside. Each collection represents an instance of the microservice with the configured properties. These properties can be modified to bring in a different behavior per collection of the same microservice. The Store association is the process of associating a microservice collection to a store along with its respective sub-entity. This way, the storefront can fetch/store the required information from that respective association.
      Returns:
      a OAuthClientVO object. Returns OAuthClient which got created.
    • authorize

      @PostMapping("/openid/authorize") @ResponseStatus(CREATED) @Audit(action="authorize", repository="oAuthClientRepository") public org.springframework.http.ResponseEntity<Object> authorize(@RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @RequestHeader("x-collection-id") @AuditField(field="COLLECTION_ID") Long collectionId, @RequestHeader(value="x-store-id",required=false,defaultValue="0") @AuditField(field="STORE_ID") long storeId, @RequestHeader(value="x-auth-token",required=false) @AuditField(field="AUTH_TOKEN") String authToken, @RequestBody @AuditField(field="OAUTHCLIENT") ClientUserVO clientUser, @RequestParam("sessionId") @AuditField(field="RESPONSE_TYPE") String sessionId, @RequestParam("responseType") @AuditField(field="RESPONSE_TYPE") String responseType, @RequestParam("clientId") @AuditField(field="CLIENT_ID") String clientId, @RequestParam("redirectUri") @AuditField(field="REDIRECT_URI") String redirectUri, @RequestParam("scope") @AuditField(field="SCOPE") String scope, @RequestParam("state") @AuditField(field="STATE") String state, @RequestParam("nonce") @AuditField(field="NONCE") String nonce, @RequestHeader(value="locale",required=false,defaultValue="en_US") @AuditField(field="LOCALE") String locale)
      This API authorize a OAuthClient.
      Parameters:
      version - It hold the value of version number of API. Using this parameter we can access the different version of the API. It is currently unused.
      collectionId - Holds a valid collection identifier of this microservice. The requested operation will be performed on this collection identifier. A collection is the topmost entity of a microservice under which all the other entities/resources reside. Each collection represents an instance of the microservice with the configured properties. These properties can be modified to bring in a different behavior per collection of the same microservice. The Store association is the process of associating a microservice collection to a store along with its respective sub-entity. This way, the storefront can fetch/store the required information from that respective association.
      authToken - a String object. This field holds a valid authorization token generated using the Authorization microservice for an user. Auth token (JWT format) represents claims containing roles and privileges of the user accessing this API. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. Since the token is a required field for this API it has to be generated before hand by invoking the /auth/sessions API provided by Authorization microservice. The output is three Base64 strings separated by dots that can be easily passed in HTML and HTTP environments, while being more compact when compared to XML-based standards such as SAML. Thus generated token has to be passed to this service and the request will be processed only if the following conditions are met:
      • Token validation against the secret key
      • Expiry time should be in the future
      • Necessary privileges are available for the user to perform the action on the subjected resource
      .
      storeId - Refers to the unique identifier of the store.
      clientUser - a OAuthClientVO object.
      sessionId - a String object. This field holds the valid session identifier. It has to be generated before hand by invoking the /auth/sessions API provided by this microservice.
      responseType - a String object. Holds a Response Type value that determines the authorization processing flow to be used. Infosys EquinoxAuth as Authorization Provider supports implicit flow in openid connect. So the client has to pass "id_token" or "id_token token". If id_token token is passed idtoken and access token will be in the response whereas only idtoken will be there incase response_type=id_token. For Studio flow , please use id_token
      clientId - a String object. Holds a Unique Client Identifier which is generated at client creation.
      redirectUri - a String object. Holds a Redirection URI to which the response will be sent. This URI MUST exactly match one of the Redirection URI values for the Client pre-registered at the Infosys EquinoxAuth.
      scope - a String object. OpenID Connect Clients use scope values to specify what access privileges are being requested for Access Tokens.
      state - a String object. Holds a string which will come back in the response for the client to validate.
      nonce - a String object. Holds a string value used to associate a Client session with an ID Token, and to mitigate replay attacks. The string value passed by the client will be part of the IdToken(JWT) in the response.
      locale - a String object. API Response and error messages will be responded in the locale mentioned in this parameter. Locale needs to be mentioned in Java standard locale format.
      Returns:
      a ClientUserVO object. Returns Collection which got created.
    • getOAuthClientById

      @GetMapping("/openidclients/{clientId}") @PreAuthorize("hasPrivilegeForServiceAndCollection(\'auth/view/openidclients\', \'auth\', #collectionId)") @ResponseStatus(ACCEPTED) @Audit(action="GetOAuthClient") public org.springframework.http.ResponseEntity<Object> getOAuthClientById(@IgnoreAudit jakarta.servlet.http.HttpServletRequest request, @RequestHeader(value="locale",required=false,defaultValue="en_US") @AuditField(field="LOCALE") String locale, @RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @RequestHeader(value="x-store-id",required=false,defaultValue="0") @AuditField(field="STORE_ID") long storeId, @RequestHeader(value="x-collection-id",required=true) @AuditField(field="COLLECTIONID") Long collectionId, @RequestHeader("x-auth-token") @AuditField(field="AUTH_TOKEN") String authToken, @PathVariable(value="clientId",required=true) @AuditField(field="CLIENT_ID") String clientId)
      This method is used to load single OAuthClient based on the given request.
      Parameters:
      request - a HttpServletRequest object.
      locale - API Response and error messages will be responded in the locale mentioned in this parameter.
      collectionId - This field holds a valid collection identifier of this microservice and requested operation will be performed on this collection identifier. Collection is the top most entity of a microservice under which all the other entities/resources reside. Each collection represents an instance of the microservice with configured properties and these properties can be modified to bring in a different behavior per collection of the same microservice. Store association is the process of associating a microservice collection to a store along with its respective sub-entity. This way storefront can fetch/store the required information from that respective association.
      authToken - This field holds a valid authorization token generated using the Authorization microservice for an user. Auth token (JWT format) represents claims containing roles and privileges of the user accessing this API. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. Since the token is a required field for this API it has to be generated before hand by invoking the /auth/sessions API provided by Authorization microservice. The output is three Base64 strings separated by dots that can be easily passed in HTML and HTTP environments, while being more compact when compared to XML-based standards such as SAML. Thus generated token has to be passed to this service and the request will be processed only if the following conditions are met:
      • Token validation against the secret key
      • Expiry time should be in the future
      • Necessary privileges are available for the user to perform the action on the subjected resource
      storeId - Refers to the unique id of the store
      version - Refers to the version
      clientId - It refers to the unique id of the client which was auto generated.
      Returns:
      It returns the OAuthClientVO.
    • getAllOAuthClients

      @GetMapping("/openidclients") @PreAuthorize("hasPrivilegeForServiceAndCollection(\'auth/viewall/oauthclients\', \'auth\', #collectionId)") @Audit(action="getCollections", repository="oAuthClientRepository") public org.springframework.http.ResponseEntity<Object> getAllOAuthClients(@IgnoreAudit jakarta.servlet.http.HttpServletRequest httpRequest, @RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @RequestParam(value="businessId",required=false) @AuditField(field="BUSINESS_ID") Long businessId, @RequestHeader(value="x-collection-id",required=true) @AuditField(field="COLLECTIONID") Long collectionId, @RequestHeader(value="x-store-id",required=false,defaultValue="0") @AuditField(field="STORE_ID") long storeId, @RequestHeader("x-auth-token") @AuditField(field="AUTH_TOKEN") String authToken, @RequestParam(value="filters",required=false) @AuditField(field="FILTERS") String filters, @RequestParam(value="sort",required=false) @AuditField(field="SORT") String sort, @RequestParam(value="page",required=false,defaultValue="1") @AuditField(field="PAGE") int page, @RequestParam(value="size",required=false,defaultValue="100") @AuditField(field="SIZE") int size, @RequestParam(value="locale",required=false,defaultValue="en_US") @AuditField(field="LOCALE") String locale)
      This API load OAuthClient(s) based on search term.
      Parameters:
      httpRequest - a HttpServletRequest object.
      version - It hold the value of version number of API. Using this parameter we can access the different version of the API. It is currently unused.
      businessId - a Long object. This field holds a valid business identifier. A Business is typically a customer who has signed up with Infosys Equinox to launch a commerce store or a digital experience. An Infosys Equinox Commerce Instance can have multiple Businesses under which there can be multiple stores - Logical entity which binds all the services together to bring in an storefront experience.
      authToken - a String object. This field holds a valid authorization token generated using the Authorization microservice for an user. Auth token (JWT format) represents claims containing roles and privileges of the user accessing this API. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. Since the token is a required field for this API it has to be generated before hand by invoking the /auth/sessions API provided by Authorization microservice. The output is three Base64 strings separated by dots that can be easily passed in HTML and HTTP environments, while being more compact when compared to XML-based standards such as SAML. Thus generated token has to be passed to this service and the request will be processed only if the following conditions are met:
      • Token validation against the secret key
      • Expiry time should be in the future
      • Necessary privileges are available for the user to perform the action on the subjected resource
      .
      storeId - Refers to the unique identifier of the store.
      filters - a String object. This field holds the simple query criteria (can be multiple) based on the available fields to limit returned results. Syntax of this parameter is FIELDNAME OP VALUE
      Example 1: field1:value, field2:value
      Example 2: field1>value
      where:
      • FIELDNAME is the entity's attribute name as represented in the response object
      • OP is the operation - Possible values includes
        • LIKE (:) - Loads everything similar (like operation) to the given value.
        • GREATERTHAN (>) - for integer values - loads rows whose column(field) value is greater than the given value
        • LESSTHAN (<) - for integer values - loads rows whose column value is lesser than the given value
      • VALUE is the value against which the operation has to be performed on the field
      Kindly note:
      • filters parameter can have multiple objects.
      • When multiple attributes are used in filter AND behavior is applied.
      sort - a String object. It refers to the sort parameter using which the response will be sorted according to the given requirement.For Example,
      id,ASC - Sorts the response in ascending order of the id. id,DESC - Sorts the response in descending order of the id.
      example = id,DESC
      page - a Long object. The page number to be retrieved where the size of the page must be specified by the size/offset/pageSize parameter. First page starts with value "0".
      size - a Long object. The number of documents being retrieved on the corresponding page specified by page parameter.
      locale - a String object. API Response and error messages will be responded in the locale mentioned in this parameter. Locale needs to be mentioned in Java standard locale format.
      collectionId - refers to the unique idd of the collection.
      Returns:
      a List object. Returns list of OAuthClients.
    • updateOpenIdClient

      @PatchMapping("/openidclients/{clientId}") @ResponseStatus(OK) @PreAuthorize("hasPrivilegeForServiceAndCollection(\'auth/update/openidclients\', \'auth\', #collectionId)") @Audit(action="updateOpenIdClient", repository="oAuthClientRepository") public org.springframework.http.ResponseEntity<Object> updateOpenIdClient(@IgnoreAudit jakarta.servlet.http.HttpServletRequest httpRequest, @PathVariable(value="clientId",required=true) @AuditField(field="CLIENT_ID") String clientId, @RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @RequestParam(value="businessId",required=false) @AuditField(field="BUSINESS_ID") Long businessId, @RequestHeader(value="x-store-id",required=false,defaultValue="0") @AuditField(field="STORE_ID") long storeId, @RequestParam(value="refreshSecret",required=false,defaultValue="false") @AuditField(field="REFRESH_SECRET") boolean refreshSecret, @RequestHeader(value="x-collection-id",required=true) @AuditField(field="COLLECTIONID") Long collectionId, @RequestHeader("x-auth-token") @AuditField(field="AUTH_TOKEN") String authToken, @RequestBody @Valid @AuditField(field="OAUTHCLIENT") @Valid OAuthClientVO client, @RequestHeader(value="locale",required=false,defaultValue="en_US") @AuditField(field="LOCALE") String locale)
      This API updates a OAuthClient.
      Parameters:
      httpRequest - a HttpServletRequest object.
      clientId - It refers to the unique id of the client which was auto generated.
      version - It hold the value of version number of API. Using this parameter we can access the different version of the API. It is currently unused.
      authToken - a String object. This field holds a valid authorization token generated using the Authorization microservice for an user. Auth token (JWT format) represents claims containing roles and privileges of the user accessing this API. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. Since the token is a required field for this API it has to be generated before hand by invoking the /auth/sessions API provided by Authorization microservice. The output is three Base64 strings separated by dots that can be easily passed in HTML and HTTP environments, while being more compact when compared to XML-based standards such as SAML. Thus generated token has to be passed to this service and the request will be processed only if the following conditions are met:
      • Token validation against the secret key
      • Expiry time should be in the future
      • Necessary privileges are available for the user to perform the action on the subjected resource
      .
      storeId - Refers to the unique identifier of the store.
      client - a OAuthClientVO object. This request body holds the valid collection details to create. Collection is the top most entity of a microservice under which all the other entities/resources reside. Each collection represents an instance of the microservice with configured properties and these properties can be modified to bring in a different behavior per collection of the same microservice. Store association is the process of associating a microservice collection to a store along with its respective sub-entity. This way storefront can fetch/store the required information from that respective association.
      refreshSecret - a Boolean object. flag to refresh the Client Secret.
      locale - a String object. API Response and error messages will be responded in the locale mentioned in this parameter. Locale needs to be mentioned in Java standard locale format.
      collectionId - Holds a valid collection identifier of this microservice. The requested operation will be performed on this collection identifier. A collection is the topmost entity of a microservice under which all the other entities/resources reside. Each collection represents an instance of the microservice with the configured properties. These properties can be modified to bring in a different behavior per collection of the same microservice. The Store association is the process of associating a microservice collection to a store along with its respective sub-entity. This way, the storefront can fetch/store the required information from that respective association.
      businessId - Holds a unique identifier of a business.
      Returns:
      a OAuthClientVO object. Returns OAuthClient which got created.
    • deleteOAuthClient

      @DeleteMapping("/openidclients/{clientId}") @PreAuthorize("hasPrivilegeForServiceAndCollection(\'auth/delete/openidclients\', \'auth\', #collectionId)") @Audit(action="deletePrivilege", repository="privilegeRepository") public org.springframework.http.ResponseEntity<Object> deleteOAuthClient(@RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @RequestParam(value="businessId",required=false) @AuditField(field="BUSINESS_ID") Long businessId, @RequestHeader(value="x-collection-id",required=true) @AuditField(field="COLLECTIONID") Long collectionId, @RequestHeader(value="x-auth-token",required=true) @AuditField(field="AUTH_TOKEN") String authToken, @RequestHeader(value="x-store-id",required=false,defaultValue="0") @AuditField(field="STORE_ID") long storeId, @PathVariable("clientId") @AuditField(field="CLIENT_ID") String clientId)
      This service is used to delete oauth clients for the given clientId and collectionId.
      Parameters:
      version - It hold the value of version number of API. Using this parameter we can access the different version of the API. It is currently unused.
      businessId - a Long object. Holds a valid business identifier. A Business is typically a customer who has signed up with Infosys Equinox to launch a commerce store or a digital experience. An Infosys Equinox Commerce Instance can have multiple Businesses under which there can be multiple stores - Logical entity which binds all the services together to bring in an storefront experience.
      authToken - a String object. This field holds a valid authorization token generated using the Authorization microservice for an user. Auth token (JWT format) represents claims containing roles and privileges of the user accessing this API. JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. Since the token is a required field for this API it has to be generated before hand by invoking the /auth/sessions API provided by Authorization microservice. The output is three Base64 strings separated by dots that can be easily passed in HTML and HTTP environments, while being more compact when compared to XML-based standards such as SAML. Thus generated token has to be passed to this service and the request will be processed only if the following conditions are met:
      • Token validation against the secret key
      • Expiry time should be in the future
      • Necessary privileges are available for the user to perform the action on the subjected resource
      .
      storeId - Refers to the unique identifier of the store.
      collectionId - Refers to the unique identifier of the collection.
      clientId - Indicates the unique identifier of the oauth client.
      Returns:
      Returns Object.
    • getJSONWebKeySet

      @GetMapping("/openidclients/jwks/{clientId}") public PublicKeys getJSONWebKeySet(@RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @PathVariable(value="clientId",required=true) @AuditField(field="CLIENT_ID") String clientId)
      This service is used to check status of the Authorization microservice.
      Parameters:
      version - It hold the value of version number of API. Using this parameter we can access the different version of the API. It is currently unused.
      clientId - It refers to the unique id of the client which was auto generated.
      Returns:
      a PublicKeys object. which holds the set of public keys of the client applications.
    • createClientAccessToken

      @PostMapping("/oauth/token") public org.springframework.http.ResponseEntity<Object> createClientAccessToken(@IgnoreAudit jakarta.servlet.http.HttpServletRequest httpRequest, @RequestHeader(value="x-version",required=false,defaultValue="8.19.7") @AuditField(field="VERSION") String version, @RequestBody @Valid @AuditField(field="OAUTHCLIENT") @Valid OAuthClientAccessTokenVO oAuthClientAccessTokenVO, @RequestHeader(value="x-collection-id",required=true) @AuditField(field="COLLECTIONID") Long collectionId)