{"id":13557923,"url":"https://github.com/ging/keystone-oauth2-extension","last_synced_at":"2025-06-12T12:08:08.330Z","repository":{"id":66688716,"uuid":"43070675","full_name":"ging/keystone-oauth2-extension","owner":"ging","description":"OpenStack Keystone extension to enable OAuth 2.0","archived":false,"fork":false,"pushed_at":"2016-04-04T20:34:40.000Z","size":66,"stargazers_count":16,"open_issues_count":2,"forks_count":9,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-05-07T21:04:48.836Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ging.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2015-09-24T14:07:37.000Z","updated_at":"2024-03-14T21:17:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"850cc62f-e895-4bd6-a2c2-72291275f751","html_url":"https://github.com/ging/keystone-oauth2-extension","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ging/keystone-oauth2-extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Fkeystone-oauth2-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Fkeystone-oauth2-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Fkeystone-oauth2-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Fkeystone-oauth2-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ging","download_url":"https://codeload.github.com/ging/keystone-oauth2-extension/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Fkeystone-oauth2-extension/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259462550,"owners_count":22861510,"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":[],"created_at":"2024-08-01T12:04:37.513Z","updated_at":"2025-06-12T12:08:08.276Z","avatar_url":"https://github.com/ging.png","language":"Python","funding_links":[],"categories":["Python","others"],"sub_categories":[],"readme":"# keystone-oauth2-extension\nOpenStack Keystone extension to enable OAuth 2.0.\n\n## How to Install\nTo install this extension in Keystone, you have to do the following:\n\n1. Place the `oauth2` folder inside the `keystone/contrib` folder in your Keystone project.\n\n2. Place the files in `tests/` inside the `keystone/tests` folder in your Keystone project.\n\n3. This extension implements an auth plugin. You need to add the `plugins/oauth2.py` module to the `keystone/auth/plugins` folder in your Keystone project.\n\n   \u003e The files inside the `config` folder contain everything you need to **add** to your Keystone settings files (`etc/keystone.conf` and `etc/keystone-paste.ini`). If you are an experienced user, you can check those files and **skip steps 4-6**. Should you prefer to set up everything step by step, please read on.\n\n4. Since this extension is augmenting a pipeline (see [Keystone docs](http://docs.openstack.org/developer/keystone/extension_development.html#modifying-the-keystone-paste-ini-file) for more info), a corresponding `filter:` section is necessary to be introduced in your `etc/keystone-paste.ini` file. Just place the following:\n   ```\n   [filter:oauth2_extension]\n   paste.filter_factory = keystone.contrib.oauth2.routers:OAuth2Extension.factory\n   ``` \n5. In order for the extension to work, it must be placed in the `pipeline`.\n\n6. Edit the `[auth]` section in your `keystone.conf` file (the one placed in the `etc` folder in your Keystone project), to include OAuth 2.0 auth method, just like this:\n   \u003cpre\u003e\n   # Default auth methods. (list value)\n   methods=external,password,token,\u003cb\u003eoauth2\u003c/b\u003e\n   \u003c/pre\u003e\n\n   At the end of the section you have to add this:\n   ```\n   # The oauth2 plugin module (string value)\n   oauth2=keystone.auth.plugins.oauth2.OAuth2\n   ```\n\n7. Define new policies in your `policy.json` file (the one placed in the `etc` folder in your Keystone project) for the following targets: \n   ```\n   identity:list_authorization_codes\n   identity:revoke_access_token\n   identity:request_authorization_code\n   ```\nThe file `config/policy.json` contains default values you can use, as well as other required policies which Keystone should include by default.\n\n8. Check Python dependencies. This extension uses [OAuthLib](https://oauthlib.readthedocs.org/en/latest/), tested to work with versions \u003e=0.7.2, \u003c=1.0.3. This is already a dependency in Keystone and you should not need to install it again, but if you are not using the standard Keystone installation, make sure to add it.\n\n9. Create database tables. Execute:\n`tools/with_venv.sh keystone-manage db_sync --extension oauth2`\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fging%2Fkeystone-oauth2-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fging%2Fkeystone-oauth2-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fging%2Fkeystone-oauth2-extension/lists"}