{"id":19448106,"url":"https://github.com/scrapinghub/discourse-sso-google","last_synced_at":"2025-09-23T18:36:42.465Z","repository":{"id":66021322,"uuid":"149218244","full_name":"scrapinghub/discourse-sso-google","owner":"scrapinghub","description":"Use Google as Single-Sign-On provider for Discourse ","archived":false,"fork":false,"pushed_at":"2018-09-18T13:45:23.000Z","size":10,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-08T11:40:43.248Z","etag":null,"topics":["discourse","discourse-sso","google-apps"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/scrapinghub.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-18T02:39:21.000Z","updated_at":"2019-10-24T03:09:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"cb867e84-3749-4f6c-b2ff-b252029d5b5e","html_url":"https://github.com/scrapinghub/discourse-sso-google","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/scrapinghub/discourse-sso-google","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrapinghub%2Fdiscourse-sso-google","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrapinghub%2Fdiscourse-sso-google/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrapinghub%2Fdiscourse-sso-google/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrapinghub%2Fdiscourse-sso-google/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scrapinghub","download_url":"https://codeload.github.com/scrapinghub/discourse-sso-google/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrapinghub%2Fdiscourse-sso-google/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276630354,"owners_count":25676633,"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-09-23T02:00:09.130Z","response_time":73,"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":["discourse","discourse-sso","google-apps"],"created_at":"2024-11-10T16:24:10.332Z","updated_at":"2025-09-23T18:36:42.431Z","avatar_url":"https://github.com/scrapinghub.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Discourse SSO implementation with Google apps as auth provider\n\nA webapp that sits in the middle of Discourse and Google Apps.\n\nIt implements Discourse SSO protocol and authenticates users via OAuth2 against\nyour Google Apps domain.\n\nThis is not another plugin implementing plugin to add social login for Discourse.\n\nThe advantages of SSO integration approach are described at\nhttps://meta.discourse.org/t/official-single-sign-on-for-discourse-sso/13045\n\nThis is not better or worse than default social Google auth integration, it is\njust different and for different purposes.\n\n\n## Setup\n\n1. Decide under what hostname are you going to run this application, be sure it\n   is accessible under https.  For the sake of this example we will use\n   `https://my.sso.app` for this app and `https://my.forum` for the Discourse\n   forum location.\n\n2. Register a new project and create credentials as describe at\n   https://meta.discourse.org/t/configuring-google-login-for-discourse/15858,\n   but do not update Discourse settings. We are going to use the OAuth2\n   credentials in a different way.\n   Set _Authorized Javascript Origins` to `https://my.sso.app` and\n   _Authorized redirect URIs_ to ``https://my.sso.app/discourse/sso/google-oauth2/callback`\n\n3. Set the following Discourse settings\n   \n   ```\n   enable_sso = true\n   sso_url = https://my.sso.app/discourse/sso\n   sso_secret = YOUR_SSO_SECRET_KEY\n   ```\n\n4. Launch this webapp with the following settings\n\n   ```python\n   DISCOURSE_SECRET = 'YOUR_SSO_SECRET_KEY'\n   DISCOURSE_SSO_LOGIN = 'https://my.forum/session/sso_login'\n   GOOGLE_CLIENT_ID = 'The Client ID provided by Google in step 2'\n   GOOGLE_SECRET = 'The secret provided by Google in step 2'\n   GOOGLE_REDIRECT_URI = 'https://my.auth.app/discourse/sso/google-oauth2/callback'\n   GOOGLE_DOMAIN = 'your-google-apps-domain.com'\n   ```\n\n5. That's all.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscrapinghub%2Fdiscourse-sso-google","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscrapinghub%2Fdiscourse-sso-google","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscrapinghub%2Fdiscourse-sso-google/lists"}