nswdpc / silverstripe-okta-boilerplate
An Okta authentication boilerplate for Silverstripe
Installs: 1 023
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 1
Open Issues: 0
Type:silverstripe-vendormodule
Requires
- php: >=7.3 || ^8
- bigfork/silverstripe-oauth-login: ^2.2
- foxworth42/oauth2-okta: ^1
- phptek/jsontext: ^2
- silverstripe/framework: ^4.10.0
- symbiote/silverstripe-queuedjobs: ^4.9.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- mockery/mockery: ^1.5
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-05-05 08:06:23 UTC
README
This module adds Okta OAuth2 authentication to your Silverstripe website
⚠️ 🧪 This module is under active development and may include breaking changes.
Scope
With this module you can
- Create an OAuth2 client via configuration using bigfork/silverstripe-oauth-login
- Authenticate an Okta user that may or may not be a Silverstripe member, via Okta OAuth
- Link a user to an Okta group
- Optionally disallow/allow the default member authenticator alongside Okta auth
Okta API
- Create an Okta API client using okta/sdk
- Synchronise users via a queued job (via Okta API)
- Block sign-in for those Okta users who have stopped appearing for a configured time period in synchronisation results
- Optionally remove users who have not synchronised after a certain time.
Use of the Okta API is optional.
You will need
- An Okta account
- An Okta OAuth service application configured with scopes granted
- If you require multiple sites authenticating via Okta, a service application per site.
- A
clientId
andclientSecret
for OAuth
Okta API
- To work with the Okta API, you will need an Okta API token
Documentation
Start here for project setup and configuration examples.
Requirements
See composer.json
Installation
Via composer:
composer require nswdpc/silverstripe-okta-boilerplate
After installing the module, run a dev/build
then start with the documentation.
TODO
- Private Key authentication mode
License
Maintainers
Bugtracker
We welcome bug reports, pull requests and feature requests on the Github Issue tracker for this project.
Please review the code of conduct prior to opening a new issue.
Security
If you have found a security issue with this module, please email digital[@]dpc.nsw.gov.au in the first instance, detailing your findings.
Development and contribution
If you would like to make contributions to the module please ensure you raise a pull request and discuss with the module maintainers.
Please review the code of conduct prior to completing a pull request.