Skip to content

Integration Options

Jason Munro edited this page Aug 9, 2017 · 8 revisions

Summary

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.

API login

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/jasonmunro/cypht/wiki/API-Login

Site module set

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.

INI settings

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

>

Clone this wiki locally