{"id":26872141,"url":"https://github.com/yukigeshiki/grpc-auth-service-java","last_synced_at":"2026-04-16T04:02:56.073Z","repository":{"id":285227595,"uuid":"956074317","full_name":"Yukigeshiki/grpc-auth-service-java","owner":"Yukigeshiki","description":"An experimental gRPC authentication service using Spring Boot and GCP Identity Platform.","archived":false,"fork":false,"pushed_at":"2026-02-17T18:56:16.000Z","size":96,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-17T23:57:21.896Z","etag":null,"topics":["authentication-service","gcp","grpc","grpc-java","grpc-server","identity-platform","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","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/Yukigeshiki.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-27T16:51:29.000Z","updated_at":"2026-02-17T18:56:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"bf61e525-248d-4790-8644-169e0030c8e6","html_url":"https://github.com/Yukigeshiki/grpc-auth-service-java","commit_stats":null,"previous_names":["yukigeshiki/grpc-auth-service-java"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Yukigeshiki/grpc-auth-service-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yukigeshiki%2Fgrpc-auth-service-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yukigeshiki%2Fgrpc-auth-service-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yukigeshiki%2Fgrpc-auth-service-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yukigeshiki%2Fgrpc-auth-service-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yukigeshiki","download_url":"https://codeload.github.com/Yukigeshiki/grpc-auth-service-java/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yukigeshiki%2Fgrpc-auth-service-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31870516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"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-service","gcp","grpc","grpc-java","grpc-server","identity-platform","spring-boot"],"created_at":"2025-03-31T08:21:13.588Z","updated_at":"2026-04-16T04:02:56.066Z","avatar_url":"https://github.com/Yukigeshiki.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# grpc-auth-service-java\n\n[![build](https://github.com/Yukigeshiki/grpc-auth-service-java/actions/workflows/ci.yml/badge.svg)](https://github.com/Yukigeshiki/grpc-auth-service-java/actions/workflows/ci.yml)\n\nAn experimental gRPC authentication service using Spring Boot and GCP Identity Platform.\n\n## Prerequisites\n\n- Java 23\n- [grpcurl](https://github.com/fullstorydev/grpcurl) (for testing)\n\n## Running the Application\n```\n./gradlew clean bootRun\n```\n\nA JWT token is sent through to the service as an \"Authorization: Bearer token\" metadata pair. The service decodes the token and returns an `AuthResponse` on success, or a gRPC `UNAUTHENTICATED` error on failure.\n\n## Environment Variables\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `PROJECT_ID` | `grpc-identity-platform-test` | GCP project ID for Firebase auth |\n| `ISSUER_URI` | `https://securetoken.google.com/` | JWT issuer base URI |\n| `GRPC_REFLECTION_ENABLED` | `false` | Enable gRPC reflection (disable in production) |\n\n## Testing\n\nTo test you can set up simple email/password auth in [Identity Platform](https://cloud.google.com/identity-platform/docs), then run the below curl command to get a token. Remember to set the `PROJECT_ID` environment variable to your GCP project ID.\n\n```\ncurl -X POST \"https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=\u003cyour-api-key\u003e\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n        \"email\": \"\u003cyour-email\u003e\",\n        \"password\": \"\u003cyour-password\u003e\",\n        \"returnSecureToken\": true\n      }'\n```\n\nOnce the above is completed and you have a token, run: \n\n```\ngrpcurl -plaintext \\\n  -emit-defaults \\\n  -d '{}' \\\n  -H \"Authorization: Bearer \u003cjwt-token\u003e\" \\\n  localhost:9090 AuthService/Authenticate\n```\n\nTo run auth service tests:\n```\n./gradlew clean check\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukigeshiki%2Fgrpc-auth-service-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyukigeshiki%2Fgrpc-auth-service-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukigeshiki%2Fgrpc-auth-service-java/lists"}