feat(auth): Complete Auth Service implementation and fix Consul health checks
- Add VerifyPassword RPC to Identity Service - Added to proto file and generated code - Implemented in Identity Service gRPC server - Added to Identity Service client interface and gRPC client - Complete RefreshToken implementation - Store refresh tokens in database using RefreshToken entity - Validate refresh tokens with expiration checking - Revoke refresh tokens on logout and token rotation - Integrate Authz Service for role retrieval - Added AuthzServiceClient to Auth Service - Get user roles during login and token refresh - Gracefully handle Authz Service failures - Require JWT secret in configuration - Removed default secret fallback - Service fails to start if JWT secret is not configured - Fix Consul health checks for Docker - Services now register with Docker service names (e.g., audit-service) - Allows Consul (in Docker) to reach services via Docker DNS - Health checks use gRPC service names instead of localhost This completes all TODOs in auth_service_fx.go and fixes the Consul health check failures in Docker environments.
This commit is contained in:
@@ -29,6 +29,9 @@ service IdentityService {
|
||||
|
||||
// ResetPassword resets a user's password using a reset token.
|
||||
rpc ResetPassword(ResetPasswordRequest) returns (ResetPasswordResponse);
|
||||
|
||||
// VerifyPassword verifies a user's password.
|
||||
rpc VerifyPassword(VerifyPasswordRequest) returns (VerifyPasswordResponse);
|
||||
}
|
||||
|
||||
// User represents a user in the system.
|
||||
@@ -132,3 +135,14 @@ message ResetPasswordResponse {
|
||||
bool success = 1;
|
||||
}
|
||||
|
||||
// VerifyPasswordRequest contains email and password.
|
||||
message VerifyPasswordRequest {
|
||||
string email = 1;
|
||||
string password = 2;
|
||||
}
|
||||
|
||||
// VerifyPasswordResponse contains the user if password is valid.
|
||||
message VerifyPasswordResponse {
|
||||
User user = 1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user