{"id":15099121,"url":"https://github.com/ttyobiwan/gouth0","last_synced_at":"2026-04-29T14:05:06.472Z","repository":{"id":176690389,"uuid":"658107230","full_name":"ttyobiwan/gouth0","owner":"ttyobiwan","description":"Simple utils for working with Auth0 in Go","archived":false,"fork":false,"pushed_at":"2023-06-25T11:24:39.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-15T19:16:50.218Z","etag":null,"topics":["auth0","go","golang","jwt"],"latest_commit_sha":null,"homepage":"","language":"Go","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/ttyobiwan.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-24T19:40:59.000Z","updated_at":"2023-06-25T11:19:02.000Z","dependencies_parsed_at":"2024-06-07T15:50:49.320Z","dependency_job_id":"f93dd9f4-3c7d-47db-b92e-2e7c4984b16c","html_url":"https://github.com/ttyobiwan/gouth0","commit_stats":null,"previous_names":["tobias-piotr/gouth0","tobiwandev/gouth0","ttyobiwan/gouth0"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ttyobiwan/gouth0","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttyobiwan%2Fgouth0","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttyobiwan%2Fgouth0/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttyobiwan%2Fgouth0/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttyobiwan%2Fgouth0/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ttyobiwan","download_url":"https://codeload.github.com/ttyobiwan/gouth0/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttyobiwan%2Fgouth0/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28235498,"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":"2026-01-07T02:00:05.975Z","response_time":58,"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":["auth0","go","golang","jwt"],"created_at":"2024-09-25T17:05:55.318Z","updated_at":"2026-01-07T13:02:52.025Z","avatar_url":"https://github.com/ttyobiwan.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gouth0\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/tobias-piotr/gouth0)](https://goreportcard.com/report/github.com/tobias-piotr/gouth0)\n\nSimple utils for working with Auth0 in Go. I've made this package for my personal use, but if you find any of this useful, then I'm glad it helped.\n\nTake note that this package is not complete, and I'm adding features as I need them. Feel free to contribute.\n\nAlso, I've made the package after around five days of learning Go, so if you find any mistakes, please let me know.\n\n## Installation\n\n```bash\ngo get github.com/tobias-piotr/gouth0\n```\n\n## Usage\n\nIf you want to work with JWT tokens, first, you need to create a new instance of the `TokenService`:\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n    \"log\"\n    \"net/http\"\n\n    \"github.com/tobias-piotr/gouth0\"\n)\n\nfunc main() {\n    ts := gouth0.NewTokenService(gouth0.ConfigFromEnv(), \u0026http.Client{}, 60)\n}\n```\n\n`ConfigFromEnv()` will read the environment variables and create a new `AuthConfig` struct. You can also create the `AuthConfig` struct manually:\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n    \"log\"\n    \"net/http\"\n\n    \"github.com/tobias-piotr/gouth0\"\n)\n\nfunc main() {\n    ts := gouth0.NewTokenService(\u0026gouth0.AuthConfig{\n        Domain:     \"your-domain.auth0.com\",\n        Audience:   \"https://your-audience.com/\",\n        Algorithms: []string{\"RS256\"},\n    }, \u0026http.Client{}, 60)\n}\n```\n\nWith that in place, you can simply start decoding JWT tokens with the `DecodeToken` method:\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n    \"log\"\n    \"net/http\"\n\n    \"github.com/tobias-piotr/gouth0\"\n)\n\nfunc main() {\n    ts := gouth0.NewTokenService(gouth0.ConfigFromEnv(), \u0026http.Client{}, 60)\n    decoded, err := ts.DecodeToken(\"your-jwt-token\")\n}\n```\n\n`decoded` will contain a map of the decoded token payload, and err can be any error encountered during the decoding process.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fttyobiwan%2Fgouth0","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fttyobiwan%2Fgouth0","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fttyobiwan%2Fgouth0/lists"}