{"id":37442685,"url":"https://github.com/meetup/gauth-proxy","last_synced_at":"2026-01-16T06:46:12.973Z","repository":{"id":52417010,"uuid":"68962169","full_name":"meetup/gauth-proxy","owner":"meetup","description":"an nginx proxy that adds some google login authentication requirements","archived":false,"fork":false,"pushed_at":"2024-07-11T13:08:22.000Z","size":28,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":96,"default_branch":"master","last_synced_at":"2024-07-11T14:57:05.651Z","etag":null,"topics":["platform-services"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meetup.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2016-09-22T21:05:36.000Z","updated_at":"2024-07-11T13:07:25.000Z","dependencies_parsed_at":"2023-01-30T02:00:23.379Z","dependency_job_id":null,"html_url":"https://github.com/meetup/gauth-proxy","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/meetup/gauth-proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetup%2Fgauth-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetup%2Fgauth-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetup%2Fgauth-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetup%2Fgauth-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meetup","download_url":"https://codeload.github.com/meetup/gauth-proxy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetup%2Fgauth-proxy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28477950,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["platform-services"],"created_at":"2026-01-16T06:46:11.773Z","updated_at":"2026-01-16T06:46:12.968Z","avatar_url":"https://github.com/meetup.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Meetup Google OAuth Proxy\n[![Build Status](https://travis-ci.com/meetup/gauth-proxy.svg?branch=master)](https://travis-ci.com/meetup/gauth-proxy)\n[![](https://images.microbadger.com/badges/image/meetup/gauth-proxy.svg)](https://microbadger.com/images/meetup/gauth-proxy \"Get your own image badge on microbadger.com\")\n[![](https://images.microbadger.com/badges/version/meetup/gauth-proxy.svg)](https://microbadger.com/images/meetup/gauth-proxy \"Get your own version badge on microbadger.com\")\n\nA nginx docker image for oauthing with google and\nproxing some service through it.  This is extended\nfrom the very awesome CloudFlare project of the\nsame topic: https://github.com/cloudflare/nginx-google-oauth\n\n## Usage\n\nRequired env vars from the CloudFlare base are:\n\n* NGO_CLIENT_ID\n* NGO_CLIENT_SECRET\n* NGO_TOKEN_SECRET\n\nOne from us:\n\n* NGINX_PROXY_PASS\n\nThe project also expects certificates to be mounted as:\n\n* `/etc/nginx/certs/tls.crt`\n* `/etc/nginx/certs/tls.key`\n\nOr you can have it generate self signed certificates on startup by setting\n* NGO_GENERATE_CERT_CMD\n\nexample: openssl req -new -nodes -x509 -subj \"/C=US/ST=New York/L=New York/O=IT/CN=*.domain.com\" -days 365 -out /etc/nginx/certs/tls.crt -keyout /etc/nginx/certs/tls.key -extensions v3_ca\nThis proxy redirects http to https.\n\n## Local Development and Testing\n\n1. Copy `secrets.env.template` to `secrets.env` (gitignored) and populate environment variables. Secrets can be found in AWS Parameter Store under `/classic/admin` namespace, other values can be taken from the production CloudFormation stack [gauth-proxy-prod](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/parameters?filteringText=gauth\u0026filteringStatus=active\u0026viewNested=true\u0026hideStacks=false\u0026stackId=arn%3Aaws%3Acloudformation%3Aus-east-1%3A212646169882%3Astack%2Fgauth-proxy-prod%2F9690d7b0-fcd1-11e9-a582-0a182a3cd028)\n2. Build and run a Docker container \n```sh\n$ make package\n$ docker run --rm -p 443:443 --env-file secrets.env -it \u003cimage_id\u003e\n```\n3. Determine an IP address of the container by running `docker inspect \u003ccontainer_id\u003e`\n4. Add an alias to local `/etc/hosts`\n```\n\u003ccontainer_ip\u003e  admin.meetup.com\n```\n5. Open `https://admin.meetup.com/admin` in a browser, dismiss the warning about an invalid certficate. If Chrome does not display 'proceed' option, type `thisisunsafe` on your keyboard to proceed. \n6. Sign in with your Meetup Google account. You should be redirected to the Meetup Admin website.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeetup%2Fgauth-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeetup%2Fgauth-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeetup%2Fgauth-proxy/lists"}