[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5108":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":19,"lastSyncTime":34,"discoverSource":35},5108,"jwt","golang-jwt\u002Fjwt","golang-jwt","Go implementation of JSON Web Tokens (JWT).","https:\u002F\u002Fgolang-jwt.github.io\u002Fjwt\u002F",null,"Go",9113,431,34,29,0,8,47,2,38.91,"MIT License",false,"main",true,[26,27,28,29,5,30],"auth","ed25519","go","golang","security","2026-06-12 02:01:08","# jwt-go\n\n[![build](https:\u002F\u002Fgithub.com\u002Fgolang-jwt\u002Fjwt\u002Factions\u002Fworkflows\u002Fbuild.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fgolang-jwt\u002Fjwt\u002Factions\u002Fworkflows\u002Fbuild.yml)\n[![Go\nReference](https:\u002F\u002Fpkg.go.dev\u002Fbadge\u002Fgithub.com\u002Fgolang-jwt\u002Fjwt\u002Fv5.svg)](https:\u002F\u002Fpkg.go.dev\u002Fgithub.com\u002Fgolang-jwt\u002Fjwt\u002Fv5)\n[![Coverage Status](https:\u002F\u002Fcoveralls.io\u002Frepos\u002Fgithub\u002Fgolang-jwt\u002Fjwt\u002Fbadge.svg?branch=main)](https:\u002F\u002Fcoveralls.io\u002Fgithub\u002Fgolang-jwt\u002Fjwt?branch=main)\n\nA [go](http:\u002F\u002Fwww.golang.org) (or 'golang' for search engine friendliness)\nimplementation of [JSON Web\nTokens](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc7519).\n\nStarting with [v4.0.0](https:\u002F\u002Fgithub.com\u002Fgolang-jwt\u002Fjwt\u002Freleases\u002Ftag\u002Fv4.0.0)\nthis project adds Go module support, but maintains backward compatibility with\nolder `v3.x.y` tags and upstream `github.com\u002Fdgrijalva\u002Fjwt-go`. See the\n[`MIGRATION_GUIDE.md`](.\u002FMIGRATION_GUIDE.md) for more information. Version\nv5.0.0 introduces major improvements to the validation of tokens, but is not\nentirely backward compatible. \n\n> After the original author of the library suggested migrating the maintenance\n> of `jwt-go`, a dedicated team of open source maintainers decided to clone the\n> existing library into this repository. See\n> [dgrijalva\u002Fjwt-go#462](https:\u002F\u002Fgithub.com\u002Fdgrijalva\u002Fjwt-go\u002Fissues\u002F462) for a\n> detailed discussion on this topic.\n\n\n**SECURITY NOTICE:** Some older versions of Go have a security issue in the\ncrypto\u002Felliptic. The recommendation is to upgrade to at least 1.15 See issue\n[dgrijalva\u002Fjwt-go#216](https:\u002F\u002Fgithub.com\u002Fdgrijalva\u002Fjwt-go\u002Fissues\u002F216) for more\ndetail.\n\n**SECURITY NOTICE:** It's important that you [validate the `alg` presented is\nwhat you\nexpect](https:\u002F\u002Fauth0.com\u002Fblog\u002Fcritical-vulnerabilities-in-json-web-token-libraries\u002F).\nThis library attempts to make it easy to do the right thing by requiring key\ntypes to match the expected alg, but you should take the extra step to verify it in\nyour usage.  See the examples provided.\n\n### Supported Go versions\n\nOur support of Go versions is aligned with Go's [version release\npolicy](https:\u002F\u002Fgolang.org\u002Fdoc\u002Fdevel\u002Frelease#policy). So we will support a major\nversion of Go until there are two newer major releases. We no longer support\nbuilding jwt-go with unsupported Go versions, as these contain security\nvulnerabilities that will not be fixed.\n\n## What the heck is a JWT?\n\nJWT.io has [a great introduction](https:\u002F\u002Fjwt.io\u002Fintroduction) to JSON Web\nTokens.\n\nIn short, it's a signed JSON object that does something useful (for example,\nauthentication).  It's commonly used for `Bearer` tokens in Oauth 2.  A token is\nmade of three parts, separated by `.`'s.  The first two parts are JSON objects,\nthat have been [base64url](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc4648)\nencoded.  The last part is the signature, encoded the same way.\n\nThe first part is called the header.  It contains the necessary information for\nverifying the last part, the signature.  For example, which encryption method\nwas used for signing and what key was used.\n\nThe part in the middle is the interesting bit.  It's called the Claims and\ncontains the actual stuff you care about.  Refer to [RFC\n7519](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc7519) for information about\nreserved keys and the proper way to add your own.\n\n## What's in the box?\n\nThis library supports the parsing and verification as well as the generation and\nsigning of JWTs.  Current supported signing algorithms are HMAC SHA, RSA,\nRSA-PSS, and ECDSA, though hooks are present for adding your own.\n\n## Installation Guidelines\n\n1. To install the jwt package, you first need to have\n   [Go](https:\u002F\u002Fgo.dev\u002Fdoc\u002Finstall) installed, then you can use the command\n   below to add `jwt-go` as a dependency in your Go program.\n\n```sh\ngo get -u github.com\u002Fgolang-jwt\u002Fjwt\u002Fv5\n```\n\n2. Import it in your code:\n\n```go\nimport \"github.com\u002Fgolang-jwt\u002Fjwt\u002Fv5\"\n```\n\n## Usage\n\nA detailed usage guide, including how to sign and verify tokens can be found on\nour [documentation website](https:\u002F\u002Fgolang-jwt.github.io\u002Fjwt\u002Fusage\u002Fcreate\u002F).\n\n## Examples\n\nSee [the project documentation](https:\u002F\u002Fpkg.go.dev\u002Fgithub.com\u002Fgolang-jwt\u002Fjwt\u002Fv5)\nfor examples of usage:\n\n* [Simple example of parsing and validating a\n  token](https:\u002F\u002Fpkg.go.dev\u002Fgithub.com\u002Fgolang-jwt\u002Fjwt\u002Fv5#example-Parse-Hmac)\n* [Simple example of building and signing a\n  token](https:\u002F\u002Fpkg.go.dev\u002Fgithub.com\u002Fgolang-jwt\u002Fjwt\u002Fv5#example-NewWithClaims-Hmac)\n* [Directory of\n  Examples](https:\u002F\u002Fpkg.go.dev\u002Fgithub.com\u002Fgolang-jwt\u002Fjwt\u002Fv5#pkg-examples)\n\n## Compliance\n\nThis library was last reviewed to comply with [RFC\n7519](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc7519) dated May 2015 with a few\nnotable differences:\n\n* In order to protect against accidental use of [Unsecured\n  JWTs](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc7519#section-6), tokens using\n  `alg=none` will only be accepted if the constant\n  `jwt.UnsafeAllowNoneSignatureType` is provided as the key.\n\n## Project Status & Versioning\n\nThis library is considered production ready.  Feedback and feature requests are\nappreciated.  The API should be considered stable.  There should be very few\nbackward-incompatible changes outside of major version updates (and only with\ngood reason).\n\nThis project uses [Semantic Versioning 2.0.0](http:\u002F\u002Fsemver.org).  Accepted pull\nrequests will land on `main`.  Periodically, versions will be tagged from\n`main`.  You can find all the releases on [the project releases\npage](https:\u002F\u002Fgithub.com\u002Fgolang-jwt\u002Fjwt\u002Freleases).\n\n**BREAKING CHANGES:** A full list of breaking changes is available in\n`VERSION_HISTORY.md`.  See [`MIGRATION_GUIDE.md`](.\u002FMIGRATION_GUIDE.md) for more information on updating\nyour code.\n\n## Extensions\n\nThis library publishes all the necessary components for adding your own signing\nmethods or key functions.  Simply implement the `SigningMethod` interface and\nregister a factory method using `RegisterSigningMethod` or provide a\n`jwt.Keyfunc`.\n\nA common use case would be integrating with different 3rd party signature\nproviders, like key management services from various cloud providers or Hardware\nSecurity Modules (HSMs) or to implement additional standards.\n\n| Extension | Purpose                                                                                                  | Repo                                              |\n| --------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |\n| GCP       | Integrates with multiple Google Cloud Platform signing tools (AppEngine, IAM API, Cloud KMS)             | https:\u002F\u002Fgithub.com\u002Fsomeone1\u002Fgcp-jwt-go            |\n| AWS       | Integrates with AWS Key Management Service, KMS                                                          | https:\u002F\u002Fgithub.com\u002Fmatelang\u002Fjwt-go-aws-kms        |\n| JWKS      | Provides support for JWKS ([RFC 7517](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc7517)) as a `jwt.Keyfunc` | https:\u002F\u002Fgithub.com\u002FMicahParks\u002Fkeyfunc             |\n| TPM       | Integrates with Trusted Platform Module (TPM)                                                            | https:\u002F\u002Fgithub.com\u002Fsalrashid123\u002Fgolang-jwt-tpm    |\n\n*Disclaimer*: Unless otherwise specified, these integrations are maintained by\nthird parties and should not be considered as a primary offer by any of the\nmentioned cloud providers\n\n## More\n\nGo package documentation can be found [on\npkg.go.dev](https:\u002F\u002Fpkg.go.dev\u002Fgithub.com\u002Fgolang-jwt\u002Fjwt\u002Fv5). Additional\ndocumentation can be found on [our project\npage](https:\u002F\u002Fgolang-jwt.github.io\u002Fjwt\u002F).\n\nThe command line utility included in this project (cmd\u002Fjwt) provides a\nstraightforward example of token creation and parsing as well as a useful tool\nfor debugging your own integration. You'll also find several implementation\nexamples in the documentation.\n\n[golang-jwt](https:\u002F\u002Fgithub.com\u002Forgs\u002Fgolang-jwt) incorporates a modified version\nof the JWT logo, which is distributed under the terms of the [MIT\nLicense](https:\u002F\u002Fgithub.com\u002Fjsonwebtoken\u002Fjsonwebtoken.github.io\u002Fblob\u002Fmaster\u002FLICENSE.txt).\n","golang-jwt\u002Fjwt 是一个用 Go 语言实现的 JSON Web Tokens (JWT) 库。它支持 JWT 的生成、解析和验证，具备良好的安全性和易用性，包括对多种加密算法的支持（如 Ed25519），并强调了对 `alg` 字段的严格验证以防止常见的安全漏洞。该库适用于需要身份验证与授权的应用场景，特别是在基于 OAuth 2.0 的 Bearer Token 机制中。项目活跃度高，社区支持良好，适合那些希望在 Go 项目中引入 JWT 功能的开发者使用。","2026-06-11 03:02:33","top_language"]