Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Cepter is provided pre-configured in the default installation with the Developer Portal - no additional installation is needed.


Installation

The developer portal Developer Portal is located in the standard Ceptor (portalprotect) home directory under the folder ppserver/developerportal. This folder contains everything needed (except for the pp/lib folder) to run the web application.

The web application is part of the standard distribution.

Starting

...

Developer Portal

The developer portal Developer Portal is started using a Ceptor launcher. In the default installation it comes with its own launcher file config/ceptor_launch_developerportal.xml which can either be used to start up the developer portal by it self Developer Portal by itself on its own server or the launch configuration in config/ceptor_launch.xml can be used so the developer portal Developer Portal starts with the rest of Ceptor.

...

Code Block
languagexml
titleceptor_launch_developerportal.xml
linenumberstrue
<?xml version="1.0" encoding="UTF-8"?>
<!-- Ceptor Launcher configuration -->
<portalprotectlauncher port="28211"
	launcherclasspath="classes/launcher;lib/PortalProtectAgent.jar;extlib/logback-core-1.2.1.jar;extlib/logback-classic-1.2.1.jar;extlib/slf4j-api-1.7.24.jar" jvmstartdelay="5">
	<!-- Ceptor API developerDeveloper portalPortal -->
	<jvm name="apideveloperportal" vmargs="-Xmx1024M -Xnoclassgc -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError">
        <config servers="nios://localhost:21233?validateservercert=false" />
        <classloader name="con" extraclasspath="">
            <service name="apideveloperportal" launcherclass="io.ceptor.apimanager.developerportal.DeveloperPortalLauncher">
                <property name="sessioncookiename" value="jsession_ceptordeveloperportal"/>
                <webserver webapp="${portalprotect.home}/ppserver/developerportal"
                    contextpath="/"
                    bindaddress="0.0.0.0" httpport="4848" sslport="4843" minthreads="2" maxthreads="32"
                    maxpostsize="67108864" maxidletime="10000"
                    responseheadersize="32768"
                    outputbuffersize="32768" keystoretype="JKS"
					keystore="${portalprotect.home}/ppserver/portalprotect.key"
					password="changeit" 
                    />
            </service>
        </classloader>
	</jvm>
</portalprotectlauncher>

...

Note

The default ceptor_launch.xml launcher configuration file starts the API Developer Portal on the context path /apideveloperportal - this matches the default Ceptor Gateway configuration, which forwards all calls to /apideveloperportal to the API Developer Portal server running on port 4843.


Configuration

The developer portal Developer Portal requires only a few lines of configuration in the ceptor-configuration.xml in order to start up. The standard distribution comes pre-configured and can be changes changed as needed.

Code Block
languagexml
titleceptor-configuration.xml
	<server name="apideveloperportal" type="apideveloperportal" description="Settings for API management developerportal" extends="apimanagement,applications">
		<group name="agent" description="Agent Settings">
			<property name="email.confirmation" value="false" description="true/false value defining whether or not to send an email for confirmation during registration"/>
			<property name="portal.useradmin.schema" value="" description="The useradmin schema to put developer portal user in (if any)"/>
			<property name="sessioncontrollers" value="nios://localhost:21343?validateservercert=false" description=""/>
		</group>
		<group name="captcha" description="Captcha application settings">
			<property name="captcha.secret.key" value="6LcBRksUAAAAAN9OTCLglrModvDFHym-h2k0MHyd" description=""/>
			<property name="captcha.site.key" value="6LcBRksUAAAAAENQkFW-3ptWBq_ldTwRk3iHoBMa" description="key label for test/demo: &apos;captor api management developer portal&apos;"/>
		</group>
		<group name="html" description="HTML application settings">
			<property name="html.noconnection" value="noconnection/noconnection.html" description="No-connection page showed on the front page"/>
			<property name="html.startup" value="startup/startup.html" description="Startup page showed on the front page"/>
			<property name="html.welcome" value="welcome/welcome.html" description="Welcome HTML showed after login"/>
		</group>
		<group name="styling" description="Other application style settings">
			<property name="portal.logo" value="../devportaltheme/img/ceptor.svg" description="Logo shown in the login dialog and menu"/>
			<property name="portal.showwelcome" value="false" description="true/false - show the welcome page after login"/>
			<property name="portal.title" value="&lt;h3&gt;Ceptor API Developer Portal&lt;/h3&gt;" description="Title shown at the top of the menu"/>
		</group>
	</server>

...

It is vital that the apideveloper portal entry extends the apimanagement in order to share settings for open api testing (oauth, etc). In the default distribution it extends the "applications" as well - this provides a common basis for accessing the user administration server which is used to retrieve and store developer information during login and registration.

The developer portal Developer Portal also requires the session controller to have two authentication plugins.

  • EmailUAAuthenticationPlugin - for supporting email registration (if enabled)
  • ConfigServerAuthenticationPlugin - for supporting creating sessions for the logged in users for use in useradmin


Other than that - the developer portal Developer Portal is a stand alone application that can run directly as is or be installed behind a gateway for example. If the Gateway logs the user in - the frontpage of the developer portal Developer Portal will not be shown, as the gateway will handle login and deliver an authenticated session to the developer portalDeveloper Portal