A spec compliant, secure by default PHP OAuth 2.0 Server
Go to file
Sergio Gómez 1b692e2298 Fix S256 code challenge method
According to [RFC7636#section-4.3](https://tools.ietf.org/html/rfc7636#section-4.3):

    If the "code_challenge_method" from Section 4.3 was "S256", the
    received "code_verifier" is hashed by SHA-256, base64url-encoded, and
    then compared to the "code_challenge", i.e.:

    BASE64URL-ENCODE(SHA256(ASCII(code_verifier))) == code_challenge

So, the hash must be done before the base64_encode.

The tests are modified to use example data from the
[RFC7636#appendix-B](https://tools.ietf.org/html/rfc7636#appendix-B).
2018-01-18 05:31:44 +01:00
examples Merge branch 'master' into add-zend-diactoros-example 2017-11-05 14:39:01 +00:00
src Fix S256 code challenge method 2018-01-18 05:31:44 +01:00
tests Fix S256 code challenge method 2018-01-18 05:31:44 +01:00
.gitattributes Updated .gitignore / .gitattributes files 2016-02-12 17:51:28 +00:00
.gitignore Updated .gitignore / .gitattributes files 2016-02-12 17:51:28 +00:00
.scrutinizer.yml Updated .scrutenizer.yml 2016-04-18 12:23:13 +01:00
.styleci.yml Create .styleci.yml 2016-02-19 23:08:32 +00:00
.travis.yml Test against PHP 7.2 2017-11-30 23:52:50 -02:00
CHANGELOG.md Updated changelog 2017-08-03 16:09:23 +01:00
composer.json Bump PHPUnit version for compatibility 2017-11-08 16:20:31 -02:00
CONDUCT.md Added code of conduct 2016-01-13 00:46:18 +00:00
CONTRIBUTING.md Fix #772 - PR should be based on master branch 2017-07-29 17:41:44 +02:00
LICENSE
phpunit.xml.dist Ignore TemplateRenderer method 2016-03-10 17:45:31 +00:00
README.md remove codesponsor 2018-01-05 01:08:14 +08:00

PHP OAuth 2.0 Server

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

Security Notice

Please upgrade to version >=5.1.6 (backwards compatible) or 6.x (one tiny breaking change) to fix some potential security vulnerabilities - visit this page for more information

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

league/oauth2-server is a standards compliant implementation of an OAuth 2.0 authorization server written in PHP which makes working with OAuth 2.0 trivial. You can easily configure an OAuth 2.0 server to protect your API with access tokens, or allow clients to request new access tokens and refresh them.

It supports out of the box the following grants:

  • Authorization code grant
  • Implicit grant
  • Client credentials grant
  • Resource owner password credentials grant
  • Refresh grant

The following RFCs are implemented:

This library was created by Alex Bilbie. Find him on Twitter at @alexbilbie.

Requirements

The following versions of PHP are supported:

  • PHP 5.6
  • PHP 7.0
  • PHP 7.1
  • PHP 7.2

The openssl extension is also required.

Documentation

The library documentation can be found at https://oauth2.thephpleague.com. You can contribute to the documentation in the gh-pages branch.

Changelog

See the project releases page

Contributing

Please see CONTRIBUTING.md and CONDUCT.md for details.

Support

Bugs and feature request are tracked on GitHub.

If you have any questions about OAuth please open a ticket here; please don't email the address below.

Commercial Support

If you would like help implementing this library into your existing platform, or would be interested in OAuth advice or training for you and your team please get in touch with Glynde Labs.

Security

If you discover any security related issues, please email hello@alexbilbie.com instead of using the issue tracker.

License

This package is released under the MIT License. See the bundled LICENSE file for details.

Credits

This code is principally developed and maintained by Andy Millington, Brian Retterer, and Simon Hamp.

Between 2012 and 2017 this library was developed and maintained by Alex Bilbie.

Special thanks to all of these awesome contributors.

Additional thanks go to the Mozilla Secure Open Source Fund for funding a security audit of this library.

The initial code was developed as part of the Linkey project which was funded by JISC under the Access and Identity Management programme.