gRPC API Reference - Lumina-Enterprise-Solutions/prism-auth-service GitHub Wiki

⚡ gRPC API Reference

prism-auth-service mengekspos sebuah service gRPC untuk komunikasi internal yang efisien dengan layanan lain. Ini tidak ditujukan untuk diakses oleh klien eksternal seperti browser.

File Proto: prism/auth/v1/auth_service.proto

Service: AuthService

Menyediakan RPC internal terkait otentikasi.


RPC: GenerateImpersonationToken

Membuat token JWT khusus yang memungkinkan satu pengguna (biasanya admin) untuk bertindak sebagai pengguna lain.

Request: GenerateImpersonationTokenRequest

message GenerateImpersonationTokenRequest {
  // Info user yang akan ditiru
  UserInfoForToken target_user = 1;
  // ID admin yang melakukan impersonasi
  string actor_id = 2;
}

// Informasi minimal yang dibutuhkan auth-service untuk membuat token.
message UserInfoForToken {
  string id = 1;
  string email = 2;
  string role_name = 3;
}
  • target_user: Objek yang berisi detail pengguna yang sesinya akan ditiru.
  • actor_id: UUID dari pengguna (admin) yang melakukan tindakan impersonasi. Ini akan dicatat dalam klaim JWT (act).

Response: GenerateImpersonationTokenResponse

message GenerateImpersonationTokenResponse {
  string access_token = 1;
  google.protobuf.Timestamp expires_at = 2;
}
  • access_token: Token JWT yang dihasilkan. Token ini akan memiliki sub dari target_user dan klaim act dari actor_id.
  • expires_at: Waktu kedaluwarsa token. Sesi impersonasi biasanya berumur pendek (misalnya, 1 jam).

Kembali ke Halaman Utama