{"id":22381476,"url":"https://github.com/miguelo981/web3-token","last_synced_at":"2026-05-03T04:41:27.231Z","repository":{"id":59044970,"uuid":"493257488","full_name":"Miguelo981/web3-token","owner":"Miguelo981","description":"Web3 Token is a new way to authenticate users in a hybrid dApps using signed messages. Implementation of EIP-4361.","archived":false,"fork":false,"pushed_at":"2023-06-08T11:15:54.000Z","size":39,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-01T01:33:40.389Z","etag":null,"topics":["authentication","blockchain","eip-4361","ethereum","golang","jwt","web3"],"latest_commit_sha":null,"homepage":"","language":"Go","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/Miguelo981.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":"2022-05-17T13:13:15.000Z","updated_at":"2023-06-11T14:55:42.000Z","dependencies_parsed_at":"2024-06-20T07:21:10.522Z","dependency_job_id":null,"html_url":"https://github.com/Miguelo981/web3-token","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Miguelo981%2Fweb3-token","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Miguelo981%2Fweb3-token/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Miguelo981%2Fweb3-token/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Miguelo981%2Fweb3-token/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Miguelo981","download_url":"https://codeload.github.com/Miguelo981/web3-token/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245720604,"owners_count":20661444,"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":["authentication","blockchain","eip-4361","ethereum","golang","jwt","web3"],"created_at":"2024-12-05T00:09:12.282Z","updated_at":"2026-05-03T04:41:27.134Z","avatar_url":"https://github.com/Miguelo981.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web3 Token\n\nWeb3 Token is an open-source Golang library that empowers you to decode and verify web3 signed tokens within the Ethereum network. It offers a seamless solution for utilizing these tokens as authentication tokens in your Golang backends, facilitating the creation of middlewares and custom services with utmost convenience. Inspired in [web3-token](https://github.com/bytesbay/web3-token).\n\n---\n## Install\n\n```bash\n$ go get github.com/Miguelo981/web3-token\n```\n\n---\n\n## Example usage (Server side)\n```go\n\nimport (\n\tweb3Token \"github.com/Miguelo981/web3-token\"\n)\n\ndecoded, err := web3Token.Verify(token, \"\")\n\nif err != nil {\n\t//Token is invalid\n\treturn\n}\n\n// Now you can find that user by his address or use the signed attributes in the token\nreq.user = await User.findOne({ decoded.Address });\n```\n\n---\n\n## API\n\n### Descrypt(signer, options)\nName | Description | Required | Example\n--- | --- | --- | ---\n`token` | A function that returns a the decrypted body of the signed token | `required` | `web3Token.Descrypt(`eyJzaWduYXR1cmUiOi`)`\n\n\n### Verify(token, options)\nName | Description | Required | Example\n--- | --- | --- | ---\n`token` | A token string that is generated from `sign()` | `required` | `...`\n`options` | An options object | `required` | `{ domain: 'example.com' }`\n`options.domain` | The domain you want to accept | `required` | `'example.com'`\n\n---\n\n## Contributing\n\nWe welcome contributions to enhance the Web3-token and make it even better. To contribute, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Make your modifications and commit the changes.\n4. Push your changes to your forked repository.\n5. Submit a pull request to the main repository.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n## Acknowledgements\n\nWe would like to express our gratitude to the open-source community for their invaluable contributions and support.\n\n## Contact\n\nIf you have any questions, suggestions, or feedback, please feel free to reach out to us at ma.rodriguez.dev@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiguelo981%2Fweb3-token","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiguelo981%2Fweb3-token","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiguelo981%2Fweb3-token/lists"}