https://github.com/e-contract/eid-idp-php-oidc-example
https://github.com/e-contract/eid-idp-php-oidc-example
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/e-contract/eid-idp-php-oidc-example
- Owner: e-Contract
- Created: 2024-04-29T10:05:59.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-29T10:06:42.000Z (about 2 years ago)
- Last Synced: 2025-03-29T23:44:25.820Z (over 1 year ago)
- Language: PHP
- Size: 1.95 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# eID Identity Provider OpenID Connect PHP Example
The PHP example web application demonstrates how to integration the eID Identity Provider of e-Contract.be BV using the OpenID Connect protocol.
More information about the supported OpenID Connect protocol is available at:
https://www.e-contract.be/developers/webapp/idp/oidc
We use Composer to install the required dependencies.
Check availability of PHP via:
```
php --version
```
Check availability of composer via:
```
composer about
```
Install all required dependencies via:
```
composer install
```
In the following example configuration, replace `$EXAMPLE_HOME` with the actual directory of this example.
## macOS
We assume that you are using the Homebrew Apache Web Server.
Install `composer` on macOS via:
```
brew install composer
```
Add the following Apache configuration file as `/opt/homebrew/etc/httpd/conf.d/openid-connect-php.conf`, with content:
```
Alias /openid-connect-php $EXAMPLE_HOME
Require all granted
```
Restart the Apache web server on macOS via:
```
brew services restart httpd
```
Enable PHP on Homebrew Apache Web Server as follows.
Add to `/opt/homebrew/etc/httpd/httpd.conf`:
```
LoadModule php_module /opt/homebrew/lib/httpd/modules/libphp.so
Include /opt/homebrew/etc/httpd/extra/httpd-php.conf
IncludeOptional /opt/homebrew/etc/httpd/conf.d/*.conf
```
Configure `/opt/homebrew/etc/httpd/extra/httpd-php.conf` with:
```xml
SetHandler application/x-httpd-php
DirectoryIndex index.html index.php
```
Check whether PHP is available within the Apache Web Server via:
https://localhost/openid-connect-php/info.php
The web application should be available at:
https://localhost/openid-connect-php/
## Ubuntu Linux
If required, install Apache and PHP as follows.
```
sudo apt update
sudo apt install apache2
sudo apt install php
sudo apt install php-curl
sudo apt install libapache2-mod-php
sudo apt install composer
sudo a2enmod ssl
sudo systemctl restart apache2
```
We install a self-signed certificate as follows:
```
sudo apt install mkcert
sudo apt install libnss3-tools
mkcert -install
```
The web application should be available at:
https://localhost/openid-connect-php/
## Fedora/CentOS Linux
Install Apache as follows:
```
sudo yum install httpd
```
Configure Apache HTTPD via `/etc/httpd/conf.d/openid-connect-php.conf` as follows:
```
Alias /openid-connect-php $EXAMPLE_HOME
Require all granted
```
Change SELinux configuration via:
```
chcon -R -t httpd_sys_content_t $EXAMPLE_HOME
```
Restart Apache HTTPD via:
```
sudo systemctl restart httpd
```
The web application should be available at:
https://localhost/openid-connect-php/
## Debugging via NetBeans
Debug PHP via Xdebug in NetBeans:
```
sudo dnf install php-pecl-xdebug
sudo systemctl restart httpd
```
Add to `/etc/php.d/xdebug.ini`:
```
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_autostart=1
```
## syslog
Enable syslog in `/etc/php.ini`:
```
error_log = syslog
```
View syslog via:
```
sudo journalctl -f
```