Class SsaService

java.lang.Object
io.jans.as.server.ssa.ws.rs.SsaService

@Named public class SsaService extends Object
Provides SSA methods to save, update, search, etc.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    jakarta.ws.rs.core.Response.ResponseBuilder
    Create a Response.ResponseBuilder with status 406
    jakarta.ws.rs.core.Response.ResponseBuilder
    Create a Response.ResponseBuilder with status 422
    void
    fillPayload(io.jans.as.model.jwt.JwtClaims claims, io.jans.as.common.model.ssa.Ssa ssa)
     
    io.jans.as.common.model.ssa.Ssa
    Find SSA based on "jti"
    io.jans.as.model.jwt.Jwt
    generateJwt(io.jans.as.common.model.ssa.Ssa ssa)
    Generates a new JWT using a given SSA.
    io.jans.as.model.jwt.Jwt
    generateJwt(io.jans.as.common.model.ssa.Ssa ssa, ExecutionContext executionContext)
    Generates a new JWT using a given SSA.
    List<io.jans.as.common.model.ssa.Ssa>
    getSsaList(String jti, String orgId, io.jans.as.common.model.ssa.SsaState status, String clientId, String[] scopes)
    Get list of SSAs based on "jti", "org_id" or "status" filters
    void
    merge(io.jans.as.common.model.ssa.Ssa ssa)
    Updates an existing SSA in the database
    void
    persist(io.jans.as.common.model.ssa.Ssa ssa)
    Persist SSA in to the database

    Methods inherited from class java.lang.Object

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

    • SsaService

      public SsaService()
  • Method Details

    • persist

      public void persist(io.jans.as.common.model.ssa.Ssa ssa)
      Persist SSA in to the database
      Parameters:
      ssa - New SSA that should be created.
    • merge

      public void merge(io.jans.as.common.model.ssa.Ssa ssa)
      Updates an existing SSA in the database
      Parameters:
      ssa - SSA to be updated.
    • findSsaByJti

      public io.jans.as.common.model.ssa.Ssa findSsaByJti(String jti)
      Find SSA based on "jti"

      Method returns null if the SSA is not found.

      Parameters:
      jti - Unique identifier
      Returns:
      Ssa found
    • getSsaList

      public List<io.jans.as.common.model.ssa.Ssa> getSsaList(String jti, String orgId, io.jans.as.common.model.ssa.SsaState status, String clientId, String[] scopes)
      Get list of SSAs based on "jti", "org_id" or "status" filters

      If the client only has ssa.portal scope, then it is filtered by the client that created the SSA

      Parameters:
      jti - Unique identifier
      orgId - Organization ID
      status - Status
      clientId - Client ID
      scopes - List of scope
      Returns:
      List of SSA
    • generateJwt

      public io.jans.as.model.jwt.Jwt generateJwt(io.jans.as.common.model.ssa.Ssa ssa, ExecutionContext executionContext) throws Exception
      Generates a new JWT using a given SSA.

      Method throws an Exception if it fails to generate JWT

      Method executes a postProcessor in case it has been sent in the execution context parameter.

      Parameters:
      ssa - Ssa
      executionContext - Execution context
      Returns:
      Jwt with SSA structure
      Throws:
      Exception
    • generateJwt

      public io.jans.as.model.jwt.Jwt generateJwt(io.jans.as.common.model.ssa.Ssa ssa) throws io.jans.as.model.exception.CryptoProviderException, io.jans.as.model.exception.InvalidJwtException
      Generates a new JWT using a given SSA.

      Method throws an CryptoProviderException or InvalidJwtException if it fails to generate JWT

      Parameters:
      ssa - Ssa
      Returns:
      Jwt with SSA structure
      Throws:
      io.jans.as.model.exception.CryptoProviderException
      io.jans.as.model.exception.InvalidJwtException
    • fillPayload

      public void fillPayload(io.jans.as.model.jwt.JwtClaims claims, io.jans.as.common.model.ssa.Ssa ssa)
    • createUnprocessableEntityResponse

      public jakarta.ws.rs.core.Response.ResponseBuilder createUnprocessableEntityResponse()
      Create a Response.ResponseBuilder with status 422
      Returns:
      Response builder
    • createNotAcceptableResponse

      public jakarta.ws.rs.core.Response.ResponseBuilder createNotAcceptableResponse()
      Create a Response.ResponseBuilder with status 406
      Returns:
      Response builder