Skip to content

Commit

Permalink
Merge pull request #1 from discoverygarden/feature/syn-config
Browse files Browse the repository at this point in the history
D10-96 / DGI9-594 / DDST-918 : Recover old `syn-config.xml` parsing JWT handler
  • Loading branch information
nchiasson-dgi authored Feb 5, 2025
2 parents fa2d10e + 57cf67b commit 603c76b
Show file tree
Hide file tree
Showing 40 changed files with 3,680 additions and 3,097 deletions.
15 changes: 15 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# In all environments, the following files are loaded if they exist,
# the latter taking precedence over the former:
#
# * .env contains default values for the environment variables needed by the app
# * .env.local uncommitted file with local overrides
# * .env.$APP_ENV committed environment-specific defaults
# * .env.$APP_ENV.local uncommitted environment-specific overrides
#
# Real environment variables win over .env files.
#
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
# https://symfony.com/doc/current/configuration/secrets.html
#
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
6 changes: 6 additions & 0 deletions .env.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# define your env variables for the test env here
KERNEL_CLASS='App\Kernel'
APP_SECRET='$ecretf0rt3st'
SYMFONY_DEPRECATIONS_HELPER=999999
PANTHER_APP_ENV=panther
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
88 changes: 88 additions & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
---
name: Code Lint/PHPUnit checks
on:
workflow_dispatch:
pull_request:
branches:
- main
push:
branches:
- main

env:
PHP_EXTENSIONS: >-
ctype,
curl,
fileinfo,
gd,
iconv,
json,
mbstring,
openssl,
pdo,
phar,
simplexml,
sqlite3,
tokenizer,
xml,
zip
jobs:
PHPUnit:
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
- '8.2'
- '8.3'
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Setup cache environment
id: extcache
uses: shivammathur/cache-extensions@v1
with:
php-version: ${{ matrix.php-version }}
extensions: ${{ env.PHP_EXTENSIONS }}
key: extcache-v1
- name: Restore cache extensions
id: extcacheactual
uses: actions/cache/restore@v3
with:
path: ${{ steps.extcache.outputs.dir }}
key: ${{ steps.extcache.outputs.key }}
restore-keys: ${{ steps.extcache.outputs.key }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: ${{ env.PHP_EXTENSIONS }}
- name: Save cache extensions
if: steps.extcacheactual.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
with:
path: ${{ steps.extcache.outputs.dir }}
key: ${{ steps.extcache.outputs.key }}
- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Restore Composer Cache
id: composercacheactual
uses: actions/cache/restore@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: composer-${{ runner.os }}-${{ hashFiles('composer.lock') }}
restore-keys: |
composer-${{ runner.os }}-
composer-
- name: Install dependencies
run: composer install --dev --prefer-install=dist --no-progress --optimize-autoloader
- name: Save Composer Cache
if: steps.composercacheactual.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: composer-${{ runner.os }}-${{ hashFiles('composer.lock') }}
- name: Run tests
run: >
composer test
12 changes: 12 additions & 0 deletions .github/workflows/semver.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: Semantic Version Tagging
on:
pull_request_target:
types: closed
branches:
- main

jobs:
tag_update:
name: Tag Update
uses: discoverygarden/auto-semver/.github/workflows/semver.yml@v1
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,13 @@
vendor
.phpunit*
clover.xml

###> phpunit/phpunit ###
/phpunit.xml
.phpunit.result.cache
###< phpunit/phpunit ###

###> symfony/phpunit-bridge ###
.phpunit.result.cache
/phpunit.xml
###< symfony/phpunit-bridge ###
29 changes: 25 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

## Introduction

Syn parsing removed with Crayfish-Commons 4.x, (to be) re-implemented on top of Lexik JWT.
Syn parsing removed with Crayfish-Commons 4.x, (to be) re-implemented on top of Lexik JWT; however, this left some use cases uncovered with respect to multi-tenacy.

## Requirements

Expand All @@ -19,7 +19,30 @@ composer require discoverygarden/crayfish-commons-syn
```

## Configuration
There is no related configuration as it serves as a dependency for microservices.

Into your main `config/packages/security.yaml` (or equivalent):

* Ensure/set `security.enable_authenticator_manager` to `true`
* Ensure a user provider exists:
```yaml
security:
[...]
providers:
users_in_memory:
memory: ~
```
* Have the main firewall use the user provider, and reference our custom authenticator:
```yaml
security:
[...]
firewalls:
main:
anonymous: false
provider: users_in_memory
custom_authenticators:
- islandora_crayfish_commons_syn.jwt.authenticator
```
## Documentation
Expand All @@ -35,8 +58,6 @@ Having problems or solved a problem? Check out the Islandora google groups for a
## Maintainers
* [Eli Zoller](https://github.com/elizoller)

This project has been sponsored by:
* UPEI
* discoverygarden inc.
Expand Down
Loading

0 comments on commit 603c76b

Please sign in to comment.