pdsinterop/solid-auth

OAuth2, OpenID and OIDC for Solid Server implementations.

v0.10.3 2024-01-17 13:11 UTC

README

Project stage: Development License Latest Version Maintained

PDS Interop standard-readme compliant keep-a-changelog compliant

OAuth2, OpenID and OIDC for Solid Server implementations

This project contains a glue layer to league/oauth2-server and custom code to provide responses to all authentication and authorization requests made to a Solid Server that require OAuth2, OpenID Connect, or meta-data for either.

Table of Contents

Installation

The advised install method is through composer:

composer require pdsinterop/solid-auth

PHP version 7.2 and higher is supported. The mbstring and json extensions need to be enabled in order for this package to work.

Usage

This package has responses to request for:

  • OAuth2 Token
  • OpenID Connect Authorization
  • Server configuration (usually made to /.well-known/openid-configuration)

The classes that provide this functionality work with any PSR-7. compliant Request and Response objects.(i.e. classes that implement the Psr\Http\Message\ResponseInterface and Psr\Http\Message\ServerRequestInterface, respectively).

This functionality is exposed by the Pdsinterop\Solid\Auth\Server, with the help of League\OAuth2\Server\AuthorizationServer.

Besides a Request, Response and AuthorizationServer, the Pdsinterop\Solid\Auth\Server requires a Configuration and User object.

A full example has been provided to help you understand how to integrate this library.

See the "API" section for detailed usage examples.

API

@TODO: List API per class

Contribute

Questions or feedback can be given by opening an issue on GitHub.

All PDS Interop projects are open source and community-friendly. Any contribution is welcome! For more details read the contribution guidelines.

All PDS Interop projects adhere to the Code Manifesto as its code-of-conduct. Contributors are expected to abide by its terms.

There is a list of all contributors on GitHub.

For a list of changes see the CHANGELOG or the GitHub releases page.

License

All code created by PDS Interop is licensed under the MIT License.