Skip to content

SURFnet/sp-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SURFnet

Build status License

Service Provider Dashboard

The Service Provider Dashboard is a dashboard application where SURFconext Service Providers can register and manage their services. This can be both SAML 2.0, OpenID Connect Relying Parties and Oauth 2.0 Resource Server entities.

Prerequisites

An entry in your hostsfile is still required for things to work. An example entry would look like:

127.0.0.1 welcome.dev.openconext.local static.dev.openconext.local mujina-sp.dev.openconext.local mujina-idp.dev.openconext.local engine-api.dev.openconext.local oidc.dev.openconext.local manage.dev.openconext.local spdashboard.dev.openconext.local engine.dev.openconext.local teams.dev.openconext.local

Is your host system on an ARM based archetecture CPU, and are you running a docker solution in a VM? Chances are you are not going to be able to step debug with XDebug. To achieve this you will need to use a slightly different XDebug setting. In order to deliver those settings into the php-fpm container we suggest you a docker-compose.overrides.yml file based on the dist file you will find in the docroot. You might need to do some additional changes to your IDE. This Jetbrains Blogpost might aid in that area.

Getting started

This setup includes the OpenConext environment from the Devconf project. You need to checkout this project in the same directory as the sp-dashboard appcode. You will have:

dir/

  • sp-dashboard/
  • OpenConext-devconf/

To bootstrap the development environment, you'll need a working Devconf setup. Please follow the instructions in the OpenConext-devconf README

If Devconf is provisioned and up and running then you can start the command line in the container with ./start-dev-env.sh spdashboard:/home/bas/Projects/surf/sp-dashboard in the OpenConext-devconf/core directory.

Then run the following commands to install the PHP and JS dependencies:

Run `composer install --ignore-platform-req=ext-zip`. This will install all PHP dependencies, including the development dependencies.
Run `yarn install`. This will install all js dependencies, including the development dependencies.
Run `yarn encore dev`. This will build the frontend.

Install database migrations

bin/console doctrine:migrations:migrate --env=dev


The application is now up and running and can be accessed at
[https://spdashboard.dev.openconext.local/](https://spdashboard.dev.openconext.local). 

Be aware that you will now log in as admin, you can change that behaviour if you would like to:
See: [Testing the front-end with different priviliges](docs/testing-with-different-priviliges.md)

### Running the tests

`composer check` will run the full suite of tests and static analysis.

Cypress tests only run locally for now.  Use `npm run cy:open` to run them.  Please ensure the accessibility tests succeed when making changes in the frontend.

Some remarks: 

1. The Sp Dashboard sp should be configured with `coin:no_consent_required` = 1. Not having this option set will result in a failing authentication sequence.
2. The Cypress tests should run in your dev environment. No fixture is provided yet to run the tests against.
3. Running tests in PROD mode is encouraged (this disengages the web debug toolbar) saving false positives in a11y and html validation errors
4. A service with ID = 2 should be present, it should have the add production entities option set.

## Other resources

 - [Developer documentation](docs/index.md)
 - [Issue tracker](https://www.pivotaltracker.com/n/projects/1400064)
 - [License](LICENSE.txt)

About

SURFconext Service Provider Dashboard

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 13