nswdpc/silverstripe-okta-boilerplate

An Okta authentication boilerplate for Silverstripe

Installs: 1 022

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 3

Forks: 1

Open Issues: 0

Type:silverstripe-vendormodule

v0.5.0-rc1 2023-08-29 06:12 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 and clientSecret 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

BSD-3-Clause

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.