{"id":15061769,"url":"https://github.com/18f/identity-oidc-gin","last_synced_at":"2025-10-04T21:31:38.597Z","repository":{"id":139904839,"uuid":"121663088","full_name":"18F/identity-oidc-gin","owner":"18F","description":"An example Login.gov client application which authenticates users via OpenID Connect (OIDC). Written in Go. Uses the Gin web framework.","archived":true,"fork":false,"pushed_at":"2020-02-14T17:21:46.000Z","size":2727,"stargazers_count":9,"open_issues_count":2,"forks_count":4,"subscribers_count":50,"default_branch":"master","last_synced_at":"2024-09-29T07:21:30.882Z","etag":null,"topics":["gin-gonic","go","goth","login-gov","oidc","oidc-client"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/18F.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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-02-15T18:06:51.000Z","updated_at":"2024-03-12T12:42:55.000Z","dependencies_parsed_at":"2023-05-26T21:15:32.319Z","dependency_job_id":null,"html_url":"https://github.com/18F/identity-oidc-gin","commit_stats":null,"previous_names":["s2t2/identity-oidc-gin"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/18F%2Fidentity-oidc-gin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/18F%2Fidentity-oidc-gin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/18F%2Fidentity-oidc-gin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/18F%2Fidentity-oidc-gin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/18F","download_url":"https://codeload.github.com/18F/identity-oidc-gin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219876787,"owners_count":16554787,"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":["gin-gonic","go","goth","login-gov","oidc","oidc-client"],"created_at":"2024-09-24T23:24:54.593Z","updated_at":"2025-10-04T21:31:33.199Z","avatar_url":"https://github.com/18F.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"This sample SP has been retired. It was used for early prototyping for integrations with login.gov and has not been maintained. It has confirmed vulnerabilities and should not be used for production itegrations.\n\nFor maintained examples of integrations with login.gov please refer to:\n\n- https://github.com/18F/identity-saml-sinatra\n- https://github.com/18F/identity-oidc-sinatra\n\n# identity-oidc-gin\n\nAn example [Login.gov](https://login.gov/) client application which authenticates users via OpenID Connect (OIDC). Written in [Go](https://golang.org/). Uses the [Gin](https://gin-gonic.github.io/gin/) web framework and the [Goth](https://github.com/markbates/goth) authentication package. Disclaimer: Goth is not (yet) a certified OpenID Relaying Party.\n\nDemo:\n\n![a screencast of a user navigating this application: logging in using LOA1 by clicking a button on the homepage, then getting redirected to a profile page showing the user's email address, then logging out and demonstrating inability to access the profile page again. then repeating the process using LOA3 to log-in produces the same results, except it displays more user information on the profile page.](demo.gif)\n\n## Installation\n\nInstall Go (version 1.9.4).\n\nInstall the source code:\n\n```sh\ngo get github.com/18F/identity-oidc-gin\ncd $GOPATH/src/github.com/18F/identity-oidc-gin\n```\n\n## Configuration\n\nConfigure environment variables using a `.env` file. At a minimum, set the `SESSION_SECRET` variable. For an example, see the `.env.example` file.\n\n### Choose a Login.gov Environment\n\n#### Development Environment (Local Server)\n\nSet the `PROVIDER_URL` environment variable to http://localhost:3000.\n\nRun a [Login.gov (identity-idp) instance](https://github.com/18F/identity-idp/) locally on port 3000:\n\n```sh\ncd path/to/identity-idp\nmake run\n```\n\n#### Sandbox Environment\n\nSet the `PROVIDER_URL` environment variable to to one of the sandbox urls:\n\n  + `https://idp.dev.identitysandbox.gov`\n  + `https://idp.int.identitysandbox.gov`\n\n\u003e NOTE: this application's credentials have not yet been deployed to the sandbox environments. this note will be removed when the credentials have been deployed and this application has been tested against these sandbox environments.\n\n## Usage\n\nRun the app:\n\n```sh\ngo run app.go\n```\n\nThen view in browser at localhost:8080.\n\n## [License](/LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F18f%2Fidentity-oidc-gin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F18f%2Fidentity-oidc-gin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F18f%2Fidentity-oidc-gin/lists"}