{"id":15039923,"url":"https://github.com/automattic/wp-openid-connect-server","last_synced_at":"2025-10-25T09:03:18.550Z","repository":{"id":50451766,"uuid":"519127757","full_name":"Automattic/wp-openid-connect-server","owner":"Automattic","description":"Use OpenID Connect to log in to other webservices using your own WordPress","archived":false,"fork":false,"pushed_at":"2025-01-07T15:57:22.000Z","size":341,"stargazers_count":26,"open_issues_count":18,"forks_count":8,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-01-30T01:04:45.888Z","etag":null,"topics":["oauth","oauth-server","oauth2","oidc","oidc-server","openid-connect"],"latest_commit_sha":null,"homepage":"https://wordpress.org/plugins/openid-connect-server/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Automattic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-29T07:48:36.000Z","updated_at":"2025-01-13T09:27:05.000Z","dependencies_parsed_at":"2023-09-23T13:04:47.823Z","dependency_job_id":"c3a6fa0c-e4cb-4d87-b43b-ef50c600d9c8","html_url":"https://github.com/Automattic/wp-openid-connect-server","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fwp-openid-connect-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fwp-openid-connect-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fwp-openid-connect-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fwp-openid-connect-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Automattic","download_url":"https://codeload.github.com/Automattic/wp-openid-connect-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237192099,"owners_count":19269826,"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","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":["oauth","oauth-server","oauth2","oidc","oidc-server","openid-connect"],"created_at":"2024-09-24T20:43:59.842Z","updated_at":"2025-10-19T18:32:01.830Z","avatar_url":"https://github.com/Automattic.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenID Connect Server\n\n- Contributors: wordpressdotorg, akirk, ashfame, psrpinto\n- Tags: oidc, oauth, openid, openid connect, oauth server\n- Requires at least: 6.0\n- Tested up to: 6.8\n- Requires PHP: 7.4\n- License: [GPLv2](http://www.gnu.org/licenses/gpl-2.0.html)\n- Stable tag: 2.0.0\n- GitHub Plugin URI: https://github.com/Automattic/wp-openid-connect-server\n\nUse OpenID Connect to log in to other webservices using your own WordPress.\n\n## Description\n\nWith this plugin you can use your own WordPress install to authenticate with a webservice that provides [OpenID Connect](https://openid.net/connect/) to implement Single-Sign On (SSO) for your users.\n\nThe plugin is currently only configured using constants and hooks as follows:\n\n### Define the RSA keys\n\nIf you don't have keys that you want to use yet, generate them using these commands:\n~~~console\nopenssl genrsa -out oidc.key 4096\nopenssl rsa -in oidc.key -pubout -out public.key\n~~~\n\nAnd make them available to the plugin as follows (this needs to be added before WordPress loads):\n\n~~~php\ndefine( 'OIDC_PUBLIC_KEY', \u003c\u003c\u003cOIDC_PUBLIC_KEY\n-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----\nOIDC_PUBLIC_KEY\n);\n\ndefine( 'OIDC_PRIVATE_KEY', \u003c\u003c\u003cOIDC_PRIVATE_KEY\n-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\nOIDC_PRIVATE_KEY\n);\n~~~\nAlternatively, you can also put them outside the webroot and load them from the files like this:\n~~~php\ndefine( 'OIDC_PUBLIC_KEY', file_get_contents( '/web-inaccessible/oidc.key' ) );\ndefine( 'OIDC_PRIVATE_KEY', file_get_contents( '/web-inaccessible/private.key' ) );\n~~~\n\n### Define the clients\n\nDefine your clients by adding a filter to `oidc_registered_clients` in a separate plugin file or `functions.php` of your theme or in a MU-plugin like:\n~~~php\nadd_filter( 'oidc_registered_clients', 'my_oidc_clients' );\nfunction my_oidc_clients() {\n\treturn array(\n\t\t'client_id_random_string' =\u003e array(\n\t\t\t'name' =\u003e 'The name of the Client',\n\t\t\t'secret' =\u003e 'a secret string',\n\t\t\t'redirect_uri' =\u003e 'https://example.com/redirect.uri',\n\t\t\t'grant_types' =\u003e array( 'authorization_code' ),\n\t\t\t'scope' =\u003e 'openid profile',\n\t\t),\n\t);\n}\n~~~\n\n### Exclude URL from caching\n\n- `example.com/wp-json/openid-connect/userinfo`: We implement caching exclusion measures for this endpoint by setting `Cache-Control: 'no-cache'` headers and defining the `DONOTCACHEPAGE` constant. If you have a unique caching configuration, please ensure that you manually exclude this URL from caching.\n\n### Github Repo\nYou can report any issues you encounter directly on [Github repo: Automattic/wp-openid-connect-server](https://github.com/Automattic/wp-openid-connect-server)\n\n## Changelog\n\n### 2.0.0\n\n- [Breaking] Add a configuration option to support clients that don't require consent [#118](https://github.com/Automattic/wp-openid-connect-server/pull/118) props @lart2150\n- Make client_id and client_secret optional for the token endpoint [#116](https://github.com/Automattic/wp-openid-connect-server/pull/116) props @lart2150\n- Update expected args specs for token endpoint as per OIDC spec [#117](https://github.com/Automattic/wp-openid-connect-server/pull/117)\n\n### 1.3.4\n\n- Add the autoloader to the uninstall script [#111](https://github.com/Automattic/wp-openid-connect-server/pull/111) props @MariaMozgunova\n\n### 1.3.3\n\n- Fix failing login when Authorize form is non-English [[#108](https://github.com/Automattic/wp-openid-connect-server/pull/108)]\n- Improvements in site health tests for key detection [[#104](https://github.com/Automattic/wp-openid-connect-server/pull/104)][[#105](https://github.com/Automattic/wp-openid-connect-server/pull/105)]\n\n### 1.3.2\n\n- Prevent userinfo endpoint from being cached [[#99](https://github.com/Automattic/wp-openid-connect-server/pull/99)]\n\n### 1.3.0\n\n- Return `display_name` as the `name` property [[#87](https://github.com/Automattic/wp-openid-connect-server/pull/87)]\n- Change text domain to `openid-connect-server`, instead of `wp-openid-connect-server` [[#88](https://github.com/Automattic/wp-openid-connect-server/pull/88)]\n\n### 1.2.1\n\n- No user facing changes\n\n### 1.2.0\n\n- Add `oidc_user_claims` filter [[#82](https://github.com/Automattic/wp-openid-connect-server/pull/82)]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautomattic%2Fwp-openid-connect-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautomattic%2Fwp-openid-connect-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautomattic%2Fwp-openid-connect-server/lists"}