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 Summary
Fields Modifier and Type Field Description static java.lang.StringCOOKIE_SESSIONID_KEYprotected java.lang.StringcrossOriginResourceDomainprotected intcrossOriginResourceMaxAgestatic java.lang.StringDEFAULT_CROSS_ORIGIN_RESOURCE_DOMAINstatic intDEFAULT_CROSS_ORIGIN_RESOURCE_MAX_AGEstatic java.lang.StringDEFAULT_DEFAULT_OIDC_PROVIDERstatic booleanDEFAULT_ENABLE_CROSS_ORIGIN_RESOURCE_SHARINGstatic intDEFAULT_HTTP_PORTstatic intDEFAULT_HTTPS_PORTstatic intDEFAULT_MAX_CONNECTIONSstatic intDEFAULT_MAX_REQUEST_BODY_SIZEstatic intDEFAULT_MAX_THREADSstatic booleanDEFAULT_ONLY_LOCAL_SERVICESstatic intDEFAULT_SESSION_TIMEOUTstatic booleanDEFAULT_START_HTTPstatic booleanDEFAULT_START_HTTPSjava.lang.StringdefaultOIDCProviderprotected booleanenableCrossOriginResourceSharingprotected inthttpPortprotected inthttpsPortprotected intmaxConnectionsprotected intmaxRequestBodySizeprotected intmaxThreadsprotected java.lang.StringoidcClientIdprotected java.lang.StringoidcClientSecretjava.util.Map<java.lang.String,net.minidev.json.JSONObject>oidcProviderInfosjava.util.ArrayList<java.lang.String>oidcProvidersprotected booleanonlyLocalServicesstatic java.lang.StringSESSION_COOKIEstatic java.lang.StringSSL_INSTANCE_NAMEprotected java.lang.StringsslKeyPasswordprotected java.lang.StringsslKeystoreprotected booleanstartHttpprotected booleanstartHttpsstatic java.lang.StringWEB_CONNECTOR -
Constructor Summary
Constructors Constructor Description WebConnector()create a new web connector instance.WebConnector(boolean http, int httpPort, boolean https, int httpsPort)create a new web connector instance.WebConnector(java.lang.Integer httpPort) -
Method Summary
Modifier and Type Method Description i5.las2peer.security.AgentImplauthenticateAgent(javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.String> requestHeaders, java.lang.String accessTokenQueryParam)voiddestroySession(java.lang.String sessionId)voidenableHttpHttps(boolean http, boolean https)enables/disables HTTP/HTTPsjava.lang.StringgenerateToken()java.security.cert.X509CertificategetCACertificate()Gets the currently used CA certificate.java.lang.StringgetCrossOriginResourceDomain()intgetCrossOriginResourceMaxAge()java.lang.StringgetHttpEndpoint()intgetHttpPort()java.lang.StringgetHttpsEndpoint()intgetHttpsPort()i5.las2peer.p2p.NodegetL2pNode()get the node, this connector is running at / forNameLockgetLockOidc()java.lang.StringgetMyHostname()java.lang.StringgetOidcClientId()java.lang.StringgetOidcClientSecret()AgentSessiongetOrCreateSession(i5.las2peer.security.PassphraseAgentImpl agent)java.lang.StringgetRootCAFilename()AgentSessiongetSessionById(java.lang.String sessionid)booleanisCrossOriginResourceSharing()voidlogError(java.lang.String message)Logs an error.voidlogError(java.lang.String message, java.lang.Throwable throwable)Logs an error with throwable.voidlogMessage(java.lang.String message)Logs a message.voidsetCrossOriginResourceDomain(java.lang.String cord)set the cross origin resource domainvoidsetCrossOriginResourceMaxAge(int maxAge)voidsetCrossOriginResourceSharing(boolean enable)allow cross origin resource sharingvoidsetHttpPort(java.lang.Integer port)set the port for the HTTP connector to listen tovoidsetHttpsPort(java.lang.Integer port)set the port for the web connector to listen to for the secure linevoidsetLogFile(java.lang.String filename)set the log file for this connectorvoidsetLogStream(java.io.OutputStream stream)set a stream to log all messages tovoidsetPreferLocalServices(boolean enable)prefer local servicesvoidsetSocketTimeout(int timeoutInMs)Deprecated.This method is no longer supported and will be removed in the future.voidsetSslKeyPassword(java.lang.String password)set the SSL key passwordvoidsetSslKeystore(java.lang.String keystore)set the location of the SSL keystorevoidstart(i5.las2peer.p2p.Node node)voidstop()
-
Field Details
-
DEFAULT_HTTP_PORT
public static final int DEFAULT_HTTP_PORT- See Also:
- Constant Field Values
-
WEB_CONNECTOR
public static final java.lang.String WEB_CONNECTOR- See Also:
- Constant Field Values
-
httpPort
protected int httpPort -
DEFAULT_HTTPS_PORT
public static final int DEFAULT_HTTPS_PORT- See Also:
- Constant Field Values
-
httpsPort
protected int httpsPort -
DEFAULT_START_HTTP
public static final boolean DEFAULT_START_HTTP- See Also:
- Constant Field Values
-
startHttp
protected boolean startHttp -
DEFAULT_START_HTTPS
public static final boolean DEFAULT_START_HTTPS- See Also:
- Constant Field Values
-
startHttps
protected boolean startHttps -
sslKeystore
protected java.lang.String sslKeystore -
sslKeyPassword
protected java.lang.String sslKeyPassword -
DEFAULT_CROSS_ORIGIN_RESOURCE_DOMAIN
public static final java.lang.String DEFAULT_CROSS_ORIGIN_RESOURCE_DOMAIN- See Also:
- Constant Field Values
-
crossOriginResourceDomain
protected java.lang.String crossOriginResourceDomain -
DEFAULT_CROSS_ORIGIN_RESOURCE_MAX_AGE
public static final int DEFAULT_CROSS_ORIGIN_RESOURCE_MAX_AGE- See Also:
- Constant Field Values
-
crossOriginResourceMaxAge
protected int crossOriginResourceMaxAge -
DEFAULT_ENABLE_CROSS_ORIGIN_RESOURCE_SHARING
public static final boolean DEFAULT_ENABLE_CROSS_ORIGIN_RESOURCE_SHARING- See Also:
- Constant Field Values
-
enableCrossOriginResourceSharing
protected boolean enableCrossOriginResourceSharing -
DEFAULT_ONLY_LOCAL_SERVICES
public static final boolean DEFAULT_ONLY_LOCAL_SERVICES- See Also:
- Constant Field Values
-
onlyLocalServices
protected boolean onlyLocalServices -
SESSION_COOKIE
public static final java.lang.String SESSION_COOKIE- See Also:
- Constant Field Values
-
DEFAULT_DEFAULT_OIDC_PROVIDER
public static final java.lang.String DEFAULT_DEFAULT_OIDC_PROVIDER- See Also:
- Constant Field Values
-
defaultOIDCProvider
public java.lang.String defaultOIDCProvider -
oidcProviders
public java.util.ArrayList<java.lang.String> oidcProviders -
oidcClientId
protected java.lang.String oidcClientId -
oidcClientSecret
protected java.lang.String oidcClientSecret -
DEFAULT_MAX_CONNECTIONS
public static final int DEFAULT_MAX_CONNECTIONS- See Also:
- Constant Field Values
-
maxConnections
protected int maxConnections -
COOKIE_SESSIONID_KEY
public static final java.lang.String COOKIE_SESSIONID_KEY- See Also:
- Constant Field Values
-
DEFAULT_SESSION_TIMEOUT
public static final int DEFAULT_SESSION_TIMEOUT- See Also:
- Constant Field Values
-
DEFAULT_MAX_THREADS
public static final int DEFAULT_MAX_THREADS- See Also:
- Constant Field Values
-
maxThreads
protected int maxThreads -
DEFAULT_MAX_REQUEST_BODY_SIZE
public static final int DEFAULT_MAX_REQUEST_BODY_SIZE- See Also:
- Constant Field Values
-
maxRequestBodySize
protected int maxRequestBodySize -
SSL_INSTANCE_NAME
public static final java.lang.String SSL_INSTANCE_NAME- See Also:
- Constant Field Values
-
oidcProviderInfos
public java.util.Map<java.lang.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(java.lang.Integer httpPort)
-
-
Method Details
-
setLogFile
public void setLogFile(java.lang.String filename) throws java.io.IOExceptionset the log file for this connector- Parameters:
filename-- Throws:
java.io.IOException
-
setHttpPort
public void setHttpPort(java.lang.Integer port)set the port for the HTTP connector to listen to- Parameters:
port-
-
setHttpsPort
public void setHttpsPort(java.lang.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 HTTPhttps- 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(java.io.OutputStream stream)set a stream to log all messages to- Parameters:
stream-
-
setSslKeyPassword
public void setSslKeyPassword(java.lang.String password)set the SSL key password- Parameters:
password-
-
setSslKeystore
public void setSslKeystore(java.lang.String keystore)set the location of the SSL keystore- Parameters:
keystore-
-
setCrossOriginResourceDomain
public void setCrossOriginResourceDomain(java.lang.String cord)set the cross origin resource domain- Parameters:
cord-
-
getCrossOriginResourceDomain
public java.lang.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:
startin classi5.las2peer.connectors.Connector- Throws:
i5.las2peer.connectors.ConnectorException
-
getRootCAFilename
public java.lang.String getRootCAFilename() -
getMyHostname
public java.lang.String getMyHostname() -
getHttpsEndpoint
public java.lang.String getHttpsEndpoint() -
getHttpEndpoint
public java.lang.String getHttpEndpoint() -
stop
public void stop() throws i5.las2peer.connectors.ConnectorException- Specified by:
stopin classi5.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(java.lang.String message)Logs a message.- Parameters:
message-
-
logError
public void logError(java.lang.String message, java.lang.Throwable throwable)Logs an error with throwable.- Parameters:
message-throwable-
-
logError
public void logError(java.lang.String message)Logs an error.- Parameters:
message-
-
getLockOidc
-
getOidcClientId
public java.lang.String getOidcClientId() -
getOidcClientSecret
public java.lang.String getOidcClientSecret() -
getHttpPort
public int getHttpPort() -
getHttpsPort
public int getHttpsPort() -
getCACertificate
public java.security.cert.X509Certificate getCACertificate() throws java.io.FileNotFoundExceptionGets the currently used CA certificate.- Returns:
- Returns the CA certificate or
null, if the connector is not started. - Throws:
java.io.FileNotFoundException- If the certificate is not stored in the local keystore.
-
authenticateAgent
public i5.las2peer.security.AgentImpl authenticateAgent(javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.String> requestHeaders, java.lang.String accessTokenQueryParam) -
getOrCreateSession
-
getSessionById
-
destroySession
public void destroySession(java.lang.String sessionId) -
generateToken
public java.lang.String generateToken()
-