Running an Identity Provider is not an easy task. If you plan to maintain one yourself, you MUST:
FULLY understand:
- RFC 7231 - Response Status Codes
- OpenID Connect Core 1.0 - TLS Requirements
- RFC 6749 - Ensuring Endpoint Authenticity
- How to debug a REST API
- How to debug PHP code
- You SHOULD NOT be using plain OAuth 2.0
Have at least a very good understanding of:
- OpenID Connect Core 1.0
- OpenID Connect Discovery 1.0
- OpenID Connect Dynamic Client Registration 1.0
- RFC 6749
To perform customizations you MUST have a good understanding of:
If you fail to comply with the aforementioned requirements you and your users are very likely going to get hurt
- php5-curl
- php5-intl
- php5-mysql or php5-pgsql or your preferred driver
- php5-memcache (you can use php5-memcached instead, just remember to change the
Memcache
classes toMemcached
)
- php timezone (example:
date.timezone = America/Sao_Paulo
) - write permission to
app/cache
,app/logs
andweb/uploads
- Sudoer user
- PHP CLI
- ACL-enabled filesystem
- Composer
It's highly recommended to create your app/config/parameters.yml
before installing to avoid database connection problems.
You can start by using app/config/parameters.yml.dist
as a template by simply copying it to the same folder but naming it as parameters.yml
, then edit the default values.
Check if your environment meets Symfony's prerequesites:
php app/check.php
Just execute the install.sh
script and follow instructions in case of errors or warnings. Then run:
php app/console server:run
Browse to http://localhost:8000
- virtualbox
- vagrant
- vagrant plugin vagrant-vbguest for port forward
It's highly recommended to create your app/config/parameters.yml
before installing to avoid database connection problems.
You can start by using app/config/parameters.yml.vagrant
as a template by simply copying it to the same folder but naming it as parameters.yml
, then edit the default values. Do not edit database values if you want to use the default vm database.
$ vagrant up