Giter VIP home page Giter VIP logo

openid-connect-php's People

Contributors

adambartholomew avatar baru avatar benyitzhaki avatar bobvandevijver avatar c2theg avatar corentingi avatar deepdiver1975 avatar dpesch avatar guss77 avatar hallgeirlien avatar jdreed avatar jricher avatar jtubex avatar juliuspc avatar jumbojett avatar kenguest avatar krisrandall avatar lordelph avatar morcs avatar mpospisil avatar n0nag0n avatar nikosev avatar nyndo avatar philcarbone avatar radenui avatar rasodu avatar rghose avatar seth-xdam avatar stijnster avatar zmon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

maicol07 iljan

openid-connect-php's Issues

Drop PHP 5 (and first PHP 7 releases)

Almost anyone is using PHP 5 anymore. The package should upgrade to PHP 7.3 or 7.4 as minimum version, in order to take advantage of newest features.

This way, we can also remove the random_compat dependency

Validate issuer when retrieving discovery document

From the OIDC Discovery spec, section 4.3. OpenID Provider Configuration Validation:

If any of the validation procedures defined in this specification fail, any operations requiring the information that failed to correctly validate MUST be aborted and the information that failed to validate MUST NOT be used.

The issuer value returned MUST be identical to the Issuer URL that was directly used to retrieve the configuration information. This MUST also be identical to the iss Claim value in ID Tokens issued from this Issuer.

This library does not validate this in getWellKnownConfigValue().

Enable PKCE by default

PKCE is not enabled by default, you have to set $oidc->setCodeChallengeMethod('S256'); it by yourself.

Since the authentication flow with enabled PKCE even works with OpenID providers not capable of PKCE, it should be enabled by default. Since this may cause trouble with some providers, another option would be to only enable it in case it is present in the discovery document.

Remove / refactor non-OIDC stuff

The methods requestClientCredentialsToken() and requestResourceOwnerToken() implement OAuth-only flows. Those are not supported by OpenID Connect, so maybe they should not be included in this library.

Throw more specific exceptions

It would be more practical if there were multiple, more specific exceptions with a defined inheritance hierarchy. This would be a solution to problems with missing metadata in the discovery document like the end_session_endpoint or introspectiong and revoking token.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.