Class WebConnector

java.lang.Object
i5.las2peer.api.Configurable
i5.las2peer.connectors.Connector
i5.las2peer.connectors.webConnector.WebConnector

public class WebConnector extends i5.las2peer.connectors.Connector
Starter class for registering the Web Connector at the las2peer server.
  • Field Details

    • DEFAULT_HTTP_PORT

      public static final int DEFAULT_HTTP_PORT
      See Also:
    • WEB_CONNECTOR

      public static final String WEB_CONNECTOR
      See Also:
    • httpPort

      protected int httpPort
    • DEFAULT_HTTPS_PORT

      public static final int DEFAULT_HTTPS_PORT
      See Also:
    • httpsPort

      protected int httpsPort
    • DEFAULT_START_HTTP

      public static final boolean DEFAULT_START_HTTP
      See Also:
    • startHttp

      protected boolean startHttp
    • DEFAULT_START_HTTPS

      public static final boolean DEFAULT_START_HTTPS
      See Also:
    • startHttps

      protected boolean startHttps
    • sslKeystore

      protected String sslKeystore
    • sslKeyPassword

      protected String sslKeyPassword
    • DEFAULT_CROSS_ORIGIN_RESOURCE_DOMAIN

      public static final String DEFAULT_CROSS_ORIGIN_RESOURCE_DOMAIN
      See Also:
    • crossOriginResourceDomain

      protected String crossOriginResourceDomain
    • DEFAULT_CROSS_ORIGIN_RESOURCE_MAX_AGE

      public static final int DEFAULT_CROSS_ORIGIN_RESOURCE_MAX_AGE
      See Also:
    • crossOriginResourceMaxAge

      protected int crossOriginResourceMaxAge
    • DEFAULT_ENABLE_CROSS_ORIGIN_RESOURCE_SHARING

      public static final boolean DEFAULT_ENABLE_CROSS_ORIGIN_RESOURCE_SHARING
      See Also:
    • enableCrossOriginResourceSharing

      protected boolean enableCrossOriginResourceSharing
    • DEFAULT_ONLY_LOCAL_SERVICES

      public static final boolean DEFAULT_ONLY_LOCAL_SERVICES
      See Also:
    • onlyLocalServices

      protected boolean onlyLocalServices
    • DEFAULT_DEFAULT_OIDC_PROVIDER

      public static final String DEFAULT_DEFAULT_OIDC_PROVIDER
      See Also:
    • defaultOIDCProvider

      public String defaultOIDCProvider
    • oidcProviders

      public ArrayList<String> oidcProviders
    • oidcClientId

      protected String oidcClientId
    • oidcClientSecret

      protected String oidcClientSecret
    • DEFAULT_MAX_CONNECTIONS

      public static final int DEFAULT_MAX_CONNECTIONS
      See Also:
    • maxConnections

      protected int maxConnections
    • DEFAULT_SESSION_TIMEOUT

      public static final int DEFAULT_SESSION_TIMEOUT
      See Also:
    • DEFAULT_MAX_THREADS

      public static final int DEFAULT_MAX_THREADS
      See Also:
    • maxThreads

      protected int maxThreads
    • DEFAULT_MAX_REQUEST_BODY_SIZE

      public static final int DEFAULT_MAX_REQUEST_BODY_SIZE
      See Also:
    • maxRequestBodySize

      protected int maxRequestBodySize
    • SSL_INSTANCE_NAME

      public static final String SSL_INSTANCE_NAME
      See Also:
    • oidcProviderInfos

      public Map<String,net.minidev.json.JSONObject> oidcProviderInfos
  • Constructor Details

    • WebConnector

      public WebConnector()
      create a new web connector instance.
    • WebConnector

      public WebConnector(boolean http, int httpPort, boolean https, int httpsPort)
      create a new web connector instance.
      Parameters:
      http -
      httpPort -
      https -
      httpsPort -
    • WebConnector

      public WebConnector(Integer httpPort)
  • Method Details

    • setLogFile

      public void setLogFile(String filename) throws IOException
      set the log file for this connector
      Parameters:
      filename -
      Throws:
      IOException
    • setHttpPort

      public void setHttpPort(Integer port)
      set the port for the HTTP connector to listen to
      Parameters:
      port -
    • setHttpsPort

      public void setHttpsPort(Integer port)
      set the port for the web connector to listen to for the secure line
      Parameters:
      port -
    • enableHttpHttps

      public void enableHttpHttps(boolean http, boolean https)
      enables/disables HTTP/HTTPs
      Parameters:
      http - enable HTTP
      https - enable HTTPS
    • setSocketTimeout

      @Deprecated public void setSocketTimeout(int timeoutInMs)
      Deprecated.
      This method is no longer supported and will be removed in the future.
      Parameters:
      timeoutInMs -
    • setLogStream

      public void setLogStream(OutputStream stream)
      set a stream to log all messages to
      Parameters:
      stream -
    • setSslKeyPassword

      public void setSslKeyPassword(String password)
      set the SSL key password
      Parameters:
      password -
    • setSslKeystore

      public void setSslKeystore(String keystore)
      set the location of the SSL keystore
      Parameters:
      keystore -
    • setCrossOriginResourceDomain

      public void setCrossOriginResourceDomain(String cord)
      set the cross origin resource domain
      Parameters:
      cord -
    • getCrossOriginResourceDomain

      public String getCrossOriginResourceDomain()
    • setCrossOriginResourceMaxAge

      public void setCrossOriginResourceMaxAge(int maxAge)
    • getCrossOriginResourceMaxAge

      public int getCrossOriginResourceMaxAge()
    • setCrossOriginResourceSharing

      public void setCrossOriginResourceSharing(boolean enable)
      allow cross origin resource sharing
      Parameters:
      enable -
    • isCrossOriginResourceSharing

      public boolean isCrossOriginResourceSharing()
    • setPreferLocalServices

      public void setPreferLocalServices(boolean enable)
      prefer local services
      Parameters:
      enable -
    • start

      public void start(i5.las2peer.p2p.Node node) throws i5.las2peer.connectors.ConnectorException
      Specified by:
      start in class i5.las2peer.connectors.Connector
      Throws:
      i5.las2peer.connectors.ConnectorException
    • getRootCAFilename

      public String getRootCAFilename()
    • getMyHostname

      public String getMyHostname()
    • getHttpsEndpoint

      public String getHttpsEndpoint()
    • getHttpEndpoint

      public String getHttpEndpoint()
    • stop

      public void stop() throws i5.las2peer.connectors.ConnectorException
      Specified by:
      stop in class i5.las2peer.connectors.Connector
      Throws:
      i5.las2peer.connectors.ConnectorException
    • getL2pNode

      public i5.las2peer.p2p.Node getL2pNode()
      get the node, this connector is running at / for
      Returns:
      the Las2Peer node of this connector
    • logMessage

      public void logMessage(String message)
      Logs a message.
      Parameters:
      message -
    • logError

      public void logError(String message, Throwable throwable)
      Logs an error with throwable.
      Parameters:
      message -
      throwable -
    • logError

      public void logError(String message)
      Logs an error.
      Parameters:
      message -
    • getLockOidc

      public NameLock getLockOidc()
    • getOidcClientId

      public String getOidcClientId()
    • getOidcClientSecret

      public String getOidcClientSecret()
    • getHttpPort

      public int getHttpPort()
    • getHttpsPort

      public int getHttpsPort()
    • getCACertificate

      public X509Certificate getCACertificate() throws FileNotFoundException
      Gets the currently used CA certificate.
      Returns:
      Returns the CA certificate or null, if the connector is not started.
      Throws:
      FileNotFoundException - If the certificate is not stored in the local keystore.
    • authenticateAgent

      public i5.las2peer.security.AgentImpl authenticateAgent(javax.ws.rs.core.MultivaluedMap<String,String> requestHeaders, String accessTokenQueryParam)
    • getOrCreateSession

      public AgentSession getOrCreateSession(i5.las2peer.security.PassphraseAgentImpl agent)
    • getSessionById

      public AgentSession getSessionById(String sessionid)
    • destroySession

      public void destroySession(String sessionId)
    • generateToken

      public String generateToken()