-
Notifications
You must be signed in to change notification settings - Fork 157
Integration Options
Cypht has a number of integration options to help customize the program, and integrate it into your existing application stack. If you want to integrate with an existing PHP application, you MUST use either database or memcached sessions (or your own custom sessions) in Cypht. This is because sessions in Cypht are encrypted, and will almost definitely collide with your existing PHP session behavior.
The API login module set provides provides a REST interface to allow single sign on from other applications. This can be performed from any application that can make an HTTP request, and create an HTML form with the results of that request. It also provides a functional interface to do single sign on with a PHP application running on the same subdomain. More details can be found at the API login request wiki page: https://github.com/cypht-org/cypht/wiki/API-Login
The site module set provides a way to modify Cypht by injecting code into request processing, or by replacing modules from other module sets. The site module set also provides methods to create custom session handlers for Cypht, as well as custom authentication methods.
Cypht has a few configuration options to ease integration with other PHP applications. From the hm3.sample.ini file:
; Integration options
; -------------------
; Cypht does a few things to make it more secure by default, but these features
; can make it difficult to integrate Cypht into 3rd party software. Specifically,
; Cypht disables PHP "super globals", and sets a restrictive PHP "open basedir"
; setting, tweaks PHP ini settings to increase security, and uses a browser
; "fingerprint" to improve session security. You can disable each with the
; following options:
; Don't empty PHP super globals
disable_empty_superglobals=false
; Don't apply open basedir restrictions
disable_open_basedir=false
; Don't tweak ini settings
disable_ini_settings=false
; Don't use a browser fingerprint
disable_fingerprint=false
The Cypht community actively works towards making Cypht easier to integrate with / within systems. This makes it easier to integrate in Tiki Wiki CMS Groupware and any other system.
- Moving to the LGPL license
- Use Composer and Packagist.org for dependencies
- Use Composer and Packagist.org to deploy Cypht itself
- Clarifying Cypht's Lifecycle, adopt LTS, and generally use SemVer
- Official Docker package
- Allow the exclusion of certain JS libraries from being bundled when integrating Cypht with third-party software
- Allow the execution of a presave draft handler, enabling third-party software integrating with Cypht to customize how a draft is stored
- Developer documentation