{"id":15198733,"url":"https://github.com/pkoenig10/auth-oidc","last_synced_at":"2025-07-23T09:05:57.590Z","repository":{"id":38471015,"uuid":"205624047","full_name":"pkoenig10/auth-oidc","owner":"pkoenig10","description":"Authentication service using OpenID Connect","archived":false,"fork":false,"pushed_at":"2025-07-02T16:19:54.000Z","size":162,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-21T22:10:04.388Z","etag":null,"topics":["auth-request","nginx","openid-connect"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/pkoenig10/oidc-rp","language":"Go","has_issues":false,"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/pkoenig10.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,"zenodo":null}},"created_at":"2019-09-01T03:23:53.000Z","updated_at":"2025-07-02T16:19:57.000Z","dependencies_parsed_at":"2024-03-14T04:28:03.889Z","dependency_job_id":"0c762ec4-e95b-42f0-b1a2-cced124b7298","html_url":"https://github.com/pkoenig10/auth-oidc","commit_stats":{"total_commits":130,"total_committers":3,"mean_commits":"43.333333333333336","dds":0.3384615384615385,"last_synced_commit":"305970f570930aab7530fe305de4d50f60fe7115"},"previous_names":["pkoenig10/auth-oidc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pkoenig10/auth-oidc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkoenig10%2Fauth-oidc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkoenig10%2Fauth-oidc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkoenig10%2Fauth-oidc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkoenig10%2Fauth-oidc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pkoenig10","download_url":"https://codeload.github.com/pkoenig10/auth-oidc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkoenig10%2Fauth-oidc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266649159,"owners_count":23962180,"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-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["auth-request","nginx","openid-connect"],"created_at":"2024-09-28T01:40:32.730Z","updated_at":"2025-07-23T09:05:57.564Z","avatar_url":"https://github.com/pkoenig10.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# auth-oidc\n\n[![](https://github.com/pkoenig10/auth-oidc/actions/workflows/ci.yml/badge.svg)][actions]\n\nAn [OpenID Connect](https://openid.net/connect/) Relying Party designed to support authentication and authorization in a reverse proxy.\n\nUsers are authenticated using the configured OpenID Provider and authorized using the provided [configuration](#configuration). Session information is stored as a signed JWT in a cookie.\n\n## Endpoints\n\n- #### `/auth`\n\n    Performs authentication and authorization. The user's email address is returned in the `X-Subject` response header.\n\n    **Query parameters:**\n\n    | Name | Required | Description |\n    | :-: | :-: | :- |\n    | `group` | No | The group name to use for authorization. |\n    | `redirect` | No | The URL to redirect to after a successful login. |\n\n    **Status codes:**\n\n    | Status | Description |\n    | :-: | :- |\n    | 200 | The user is authenticated and authorized. |\n    | 302 | The user is not authenticated and a redirect URL was provided. Redirects to the [OpenID Provider Authorization Endpoint](https://openid.net/specs/openid-connect-core-1_0.html#AuthorizationEndpoint). |\n    | 401 | The user is not authenticated and a redirect URL was not provided. |\n    | 403 | The user is authenticated but not authorized. |\n\n- #### `/login`\n\n    Starts the [OpenID Connect Authorization Code Flow](https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth).\n\n    **Query parameters:**\n\n    | Name | Required | Description |\n    | :-: | :-: | :- |\n    | `redirect` | No | The URL to redirect to after a successful login. |\n\n    **Status codes:**\n\n    | Status | Description |\n    | :-: | :- |\n    | 302 | Redirects to the [OpenID Provider Authorization Endpoint](https://openid.net/specs/openid-connect-core-1_0.html#AuthorizationEndpoint). |\n\n- #### `/logout`\n\n    Performs logout.\n\n    **Status codes:**\n\n    | Status | Description |\n    | :-: | :- |\n    | 200 | The user was successfully logged out. |\n\n- #### `/callback`\n\n    Completes the [OpenID Connect Authorization Code Flow](https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth). The OpenID Provider should be configured with this endpoint as the callback URL.\n\n    **Status codes:**\n\n    | Status | Description |\n    | :-: | :- |\n    | 200 | The user was successfully logged in and a redirect URL was not provided. |\n    | 302 | The user was successfully logged in and a redirect URL was provided. Redirects to the provided redirect URL. |\n\n## Configuration\n\nConfiguration is provided using command-line flags and a YAML configuration file.\n\nDetailed usage information is available using the `-help` flag.\n\n### Configuration file\n\n- `groups`\n\n    Group memberships to use for authorization.\n\n#### Example\n\n```yaml\ngroups:\n  group1:\n    - user1@example.com\n  group2:\n    - user1@example.com\n    - user2@example.com\n```\n\n[actions]: https://github.com/pkoenig10/auth-oidc/actions\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkoenig10%2Fauth-oidc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpkoenig10%2Fauth-oidc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkoenig10%2Fauth-oidc/lists"}