{"id":15076784,"url":"https://github.com/facile-it/openid-bundle","last_synced_at":"2025-10-05T11:31:29.354Z","repository":{"id":56981170,"uuid":"184721998","full_name":"facile-it/openid-bundle","owner":"facile-it","description":"A Symfony bundle to do authorization through a third-party OpenId provider","archived":true,"fork":false,"pushed_at":"2019-06-03T09:12:28.000Z","size":160,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-24T05:31:38.686Z","etag":null,"topics":["openid","openid-client","symfony","symfony-bundle","symfony3","symfony4"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/facile-it.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-03T08:23:35.000Z","updated_at":"2023-01-28T18:11:35.000Z","dependencies_parsed_at":"2022-08-21T11:20:33.068Z","dependency_job_id":null,"html_url":"https://github.com/facile-it/openid-bundle","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/facile-it/openid-bundle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facile-it%2Fopenid-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facile-it%2Fopenid-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facile-it%2Fopenid-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facile-it%2Fopenid-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/facile-it","download_url":"https://codeload.github.com/facile-it/openid-bundle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facile-it%2Fopenid-bundle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278445769,"owners_count":25988048,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openid","openid-client","symfony","symfony-bundle","symfony3","symfony4"],"created_at":"2024-09-25T04:02:39.372Z","updated_at":"2025-10-05T11:31:29.086Z","avatar_url":"https://github.com/facile-it.png","language":"PHP","readme":"# facile-it/openid-bundle\n\n**WARNING**: this package is abandoned. Use an OAuth2 client instead, since OpenId Connect is a superset of that funtionality.\n\n[![PHP Version](https://img.shields.io/badge/php-%5E7.1-blue.svg)](https://img.shields.io/badge/php-%5E7.1-blue.svg)\n[![Stable release][Last stable image]][Packagist link]\n[![Unstable release][Last unstable image]][Packagist link]\n\n[![Build status][Master build image]][Master build link]\n[![Coverage Status][Master coverage image]][Master coverage link]\n\nThis bundles add a new [custom authentication provider](https://symfony.com/doc/current/security/custom_authentication_provider.html) for your Symfony firewall, allowing authentication of your users using a third party OpenId provider.\n\n## Installation\n\nRequire the package through Composer\n\n```bash\ncomposer require facile-it/openid-bundle\n```\n\nAdd the bundle to your app kernel:\n\n```php\nclass AppKernel extends Kernel\n{\n    public function registerBundles()\n    {\n        $bundles = [\n            // ...\n            new Facile\\OpenIdBundle\\OpenIdBundle(),\n        ];\n\n        // ...\n```\n\n## Configuration\n\nAdd the two needed routes to your routing configuration; names and paths are up to you:\n```yaml\n## app/config/routing.yml\n\nfacile_openid_login: # your login route, that will redirect your user to the OpenId service\n    path: /openid/login\n\nfacile_openid_check: # your check route, where your user will return back for authentication on your app\n    path: /openid/check\n```\n\nDefine a service that implements the `\\Facile\\OpenIdBundle\\Security\\UserProvider` interface:\n```php\n\u003c?php\n\nnamespace App\\Security;\n\nuse Facile\\OpenIdBundle\\Security\\Authentication\\Token\\OpenIdToken;\nuse Symfony\\Component\\Security\\Core\\User\\UserInterface;\n\nclass MyOpenIdUserProvider implements \\Facile\\OpenIdBundle\\Security\\UserProvider\n{\n    /**\n     * Authentication hook point for the entire bundle.\n     *\n     * During the authentication procedure, this method is called to identify the user to be\n     * authenticated in the current session. This method will hold all the logic to associate\n     * the given OpenId token to an user of the current application. The user can even be\n     * instantiated (and/or persisted) on the fly, and it will be set in the current session\n     * afterwards.\n     *\n     * @param OpenIdToken $token the token obtained during the post-authentication redirect\n     *\n     * @return UserInterface|null the user associated to that token, or null if no user is found\n     */\n    public function findUserByToken(OpenIdToken $token): ?UserInterface\n    {\n        // ...\n    }\n}\n```\n\nUnder the Security bundle configuration of your Symfony application, configure the firewall like this:\n\n```yaml\nsecurity:\n  # ...\n\n  firewalls:\n    my_secured_firewall:\n      pattern: ^/(secured|openid) # choose the right pattern to protect behind the OpenId authentication \n      facile_openid:\n        auth_endpoint: 'http://login.example.com/oauth2/authorize' # the endpoint of the OpenId service to redirect to for authentication \n        client_id: 'client_test' # your client ID\n        login_path: facile_openid_login # the route name or path of your login route\n        check_path: facile_openid_check # the route name or path of your check route\n        jwt_key_path: '/some/path/to/jwt/public.key' # the file path to the public key that was used to sign the OpenId JWT token\n        provider: App\\Security\\MyOpenIdUserProvider # the ID of the service implementing the UserProvider interface\n\n        # optional configuration parameters:\n        scope: # default value: ['email']; openid scope is implicit\n        - email\n        - profile \n```\n*NOTE*: the `login_path` \u0026 `check_path` routes must be matched by the pattern of this firewall, or othewise the firewall will not be triggered.\n\n[Last stable image]: https://poser.pugx.org/facile-it/openid-bundle/version.svg\n[Last unstable image]: https://poser.pugx.org/facile-it/openid-bundle/v/unstable.svg\n[Master build image]: https://travis-ci.org/facile-it/openid-bundle.svg\n[Master coverage image]: https://coveralls.io/repos/facile-it/openid-bundle/badge.svg?branch=master\u0026service=github\n\n[Packagist link]: https://packagist.org/packages/facile-it/openid-bundle\n[Master build link]: https://travis-ci.org/facile-it/openid-bundle\n[Master coverage link]: https://coveralls.io/github/facile-it/openid-bundle?branch=master\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffacile-it%2Fopenid-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffacile-it%2Fopenid-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffacile-it%2Fopenid-bundle/lists"}