{"id":20003634,"url":"https://github.com/theanuragshukla/auth-microservice","last_synced_at":"2026-07-01T02:31:19.779Z","repository":{"id":204137495,"uuid":"711188124","full_name":"theanuragshukla/auth-microservice","owner":"theanuragshukla","description":"Production ready, gRPC enabled, Authentication microservice written in Go.","archived":false,"fork":false,"pushed_at":"2025-03-19T13:55:02.000Z","size":201,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-19T14:30:16.604Z","etag":null,"topics":["authentication","authentication-backend","go-microservice","microservice"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/theanuragshukla/auth-ms","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/theanuragshukla.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":"2023-10-28T13:29:48.000Z","updated_at":"2025-03-19T13:55:06.000Z","dependencies_parsed_at":"2024-01-05T05:27:52.853Z","dependency_job_id":"61bb3249-0e45-4981-aaf1-bdf822898144","html_url":"https://github.com/theanuragshukla/auth-microservice","commit_stats":null,"previous_names":["theanuragshukla/auth-microservice"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/theanuragshukla/auth-microservice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanuragshukla%2Fauth-microservice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanuragshukla%2Fauth-microservice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanuragshukla%2Fauth-microservice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanuragshukla%2Fauth-microservice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theanuragshukla","download_url":"https://codeload.github.com/theanuragshukla/auth-microservice/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanuragshukla%2Fauth-microservice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34990845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-01T02:00:05.325Z","response_time":130,"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":["authentication","authentication-backend","go-microservice","microservice"],"created_at":"2024-11-13T05:26:31.814Z","updated_at":"2026-07-01T02:31:19.770Z","avatar_url":"https://github.com/theanuragshukla.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/theanuragshukla/auth-microservice\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/theanuragshukla/auth-microservice/master/logo.png\" alt=\"Logo\" width=\"200\" height=\"200\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eAuth-ms\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    Production ready, gRPC enabled, Auth microservice\n    \u003cbr/\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://github.com/theanuragshukla/auth-microservice\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr/\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://github.com/theanuragshukla/auth-microservice\"\u003eView Demo\u003c/a\u003e\n    .\n    \u003ca href=\"https://github.com/theanuragshukla/auth-microservice/issues\"\u003eReport Bug\u003c/a\u003e\n    .\n    \u003ca href=\"https://github.com/theanuragshukla/auth-microservice/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n![Downloads](https://img.shields.io/github/downloads/theanuragshukla/auth-microservice/total) ![Contributors](https://img.shields.io/github/contributors/theanuragshukla/auth-microservice?color=dark-green) ![Forks](https://img.shields.io/github/forks/theanuragshukla/auth-microservice?style=social) ![Stargazers](https://img.shields.io/github/stars/theanuragshukla/auth-microservice?style=social) ![Issues](https://img.shields.io/github/issues/theanuragshukla/auth-microservice) ![License](https://img.shields.io/github/license/theanuragshukla/auth-microservice)\n\n## Table Of Contents\n\n* [About the Project](#about-the-project)\n* [Built With](#built-with)\n* [Getting Started](#getting-started)\n  * [Prerequisites](#prerequisites)\n  * [Installation](#installation)\n* [Features](#features)\n* [Documentation](#documentation)\n* [Authors](#authors)\n\n## About The Project\n\nAn Authentication microservice written in Go.\nAuth is a vital part in most of the real world Products/Services. Almost every project on open internet need authentication. So, I built this microservice so that, Instead of implementing Auth from scratch in each of my projects, I can spin up an Auth-ms instance and focus on other important features of my project.\n\nWhy this is better:\n\n* Your time should be focused on creating something amazing. A project that solves a problem and helps others\n* You shouldn't be doing the same tasks over and over like implementing Auth from scratch in every project\n* You should element DRY principles to the rest of your life :smile:\n* Most of the other libraries have the following shortcomings:\n\t* Way too complex to be integrated in a simple project (maybe a college project)\n\t* Not Production Ready\n \t* Need to be deeply nested in project source code\n\nOf course, This might not be suited for much more sophisticated Auth requirements, but it is sufficient enough to be used in majority of the projects I've created during my college years.\n\n## Built With\n\n* Golang\n* Zap\n* gRPC\n* Gorilla MUX\n* GORM\n* Viper\n* Go standerd libraries\n\n## Getting Started\nThere are several ways to get started\n* Deploy a prebuilt docker container\n* Build and run locally\n  * Docker compose\n  * Standalone installation\n\n### Prerequisites\nFor Docker:\n* PostgreSQL\n* Docker\n\nFor Docker Compose:\n* Docker\n* Docker Compose\n\nFor StandAlone Service:\n* Golang\n* PostgreSQL\n\n### Installation\nStep 1: Fullfill the prerequisites\n\nStep 2: Depending upon the type of installation you want, It may vary:\n\nUsing Docker:\n* Start your Postgres Server and Create a Database\n* In the Project root, rename the `.env.example` to `.env` and Fill all the DB info like host, port, etc.\n* Build the Project using Docker\n```sh\ndocker build -t auth .\n```\n* Run docker Container\n```sh\ndocker run auth\n```\n\nUsing Docker Compose:\n* Run the container using docker-compose\n```sh\ndocker-compose up -d\n```\n\nAs Standalone Service\n* download all the dependencies\n```sh\ngo mod download\n```\n* Run the Service:\n```sh\ngo run main.go\n```\n\n### NOTE: While using the Docker/Docker-compose methods, Instead of building locally, You can also fetch a prebuilt container using the following command\n```sh\ndocker pull theanuragshukla/auth-ms\n```\n\n## Features\n* Provides basic Authentication:\n  * Access and Refresh tokens\n  * UID\n* Fully Integrated Logging, for easy debugging in case of any failure\n* Live monitoring using Log files\n* gRPC endpoints for integration with other services\n* REST endpoints for client side applications\n* Automatically DB Managements using GORM\n\n## Documentation\nThe technical documentation of this service is linked here in [DOCUMENTATION.md](DOCUMENTATION.md). Also find the `swagger.yml`\t file for client generation.\n\n## Authors\n\n* **Anurag Shukla** - *Comp Sci Student* - [Anurag Shukla](https://github.com/theanuragshukla) - *built Auth-ms*\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheanuragshukla%2Fauth-microservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheanuragshukla%2Fauth-microservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheanuragshukla%2Fauth-microservice/lists"}