{"id":16342920,"url":"https://github.com/veehaitch/envoy-oauth2-filter-google","last_synced_at":"2025-03-23T00:32:33.823Z","repository":{"id":44104692,"uuid":"321102278","full_name":"veehaitch/envoy-oauth2-filter-google","owner":"veehaitch","description":"A proof-of-concept deployment to showcase Envoy's OAuth2 filter with Google's OAuth2 API.","archived":false,"fork":false,"pushed_at":"2022-02-12T10:15:11.000Z","size":13,"stargazers_count":19,"open_issues_count":1,"forks_count":8,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-18T15:54:27.850Z","etag":null,"topics":["docker","docker-compose","envoy","google","oauth2"],"latest_commit_sha":null,"homepage":"","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/veehaitch.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}},"created_at":"2020-12-13T15:56:05.000Z","updated_at":"2024-09-22T08:26:38.000Z","dependencies_parsed_at":"2022-07-25T22:47:29.925Z","dependency_job_id":null,"html_url":"https://github.com/veehaitch/envoy-oauth2-filter-google","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veehaitch%2Fenvoy-oauth2-filter-google","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veehaitch%2Fenvoy-oauth2-filter-google/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veehaitch%2Fenvoy-oauth2-filter-google/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veehaitch%2Fenvoy-oauth2-filter-google/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/veehaitch","download_url":"https://codeload.github.com/veehaitch/envoy-oauth2-filter-google/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245040235,"owners_count":20551297,"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":["docker","docker-compose","envoy","google","oauth2"],"created_at":"2024-10-11T00:05:37.018Z","updated_at":"2025-03-23T00:32:33.432Z","avatar_url":"https://github.com/veehaitch.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Google Envoy Filter OAuth2\n\nA proof-of-concept deployment to showcase [Envoy's OAuth2 filter](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/oauth2_filter) with [Google's OAuth2 API](https://developers.google.com/identity/protocols/oauth2). The OAuth2 filter is an alpha feature under active development.\n\n## Prerequisites\n\n### Google Setup\n\n1. Create a new OAuth client ID and secret under the credentials section for your API project (or create a new one, if necessary) at [Google's API Console](https://console.developers.google.com/apis/dashboard).\n2. Add the Client ID to `client_id` in [`envoy/envoy.yaml`](envoy/envoy.yaml) and the client secret to [`envoy/token-secret.yaml`](envoy/token-secret.yaml).\n3. Make sure you add the `redirect_uri` from [`envoy/envoy.yaml`](envoy/envoy.yaml) to the list of authorized redirect URIs for your Google OAuth client.\n4. Add the `openid` scope to the OAuth consent screen.\n5. To test your setup, verify you have added at least one test user with a Google account you have access to.\n\n### Adapt configs to your setup\n\n1. Adapt the configuration (hosts, ports, routes, ...) of [`envoy/envoy.yaml`](envoy/envoy.yaml) or of any Dockerfile to your setup if/as needed.\n2. Generate an HMAC key and insert it into [`envoy/hmac-secret.yaml`](envoy/hmac-secret.yaml): `head -c 32 /dev/urandom | base64`\n\n## Run\n\nThe sample code uses [`docker-compose`](https://docs.docker.com/compose/install/) and consists of two services:\n\n1. `envoy`: This container runs the official `envoyproxy/envoy-dev` image. Make sure it includes [@andreyprezotto's pull request](https://github.com/envoyproxy/envoy/pull/14168) if you're not using the `latest` tag.\n\n2. `upstream`: A tiny Python service which prints a success message and the request headers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveehaitch%2Fenvoy-oauth2-filter-google","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveehaitch%2Fenvoy-oauth2-filter-google","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveehaitch%2Fenvoy-oauth2-filter-google/lists"}