feat(auth): add authentication protocol definitions and build configuration
- Add TokenClaims message for JWT payload structure with user id, issuer, timestamps, and scopes - Implement IssueTokenRequest/Response for creating access and refresh tokens with TTL support - Create RefreshTokenRequest/Response for token rotation functionality - Define RevokeTokenRequest/Response with support for single token or user-wide revocation - Add VerifyTokenRequest/Response for validating JWT tokens with detailed claims information - Implement signing key distribution system with GetSigningKeysRequest/Response - Create TokenService gRPC service with IssueToken, RefreshToken, RevokeToken, VerifyToken, and GetSigningKeys methods - Add build.rs configuration to compile proto files using tonic_prost_build - Include channel, channel_settings, member, and permission protocol definitions for IM services - Generate Rust code bindings through pb/core.rs and pb/im.rs modules
This commit is contained in:
+45
@@ -0,0 +1,45 @@
|
||||
[package]
|
||||
name = "imks"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
|
||||
[lib]
|
||||
path = "lib.rs"
|
||||
name = "imks"
|
||||
|
||||
[[bin]]
|
||||
path = "main.rs"
|
||||
name = "imks"
|
||||
|
||||
|
||||
[dependencies]
|
||||
tonic = "0.14.6"
|
||||
prost = "0.14.3"
|
||||
prost-types = "0.14"
|
||||
tonic-build = "0.14.6"
|
||||
tonic-health = "0.14.6"
|
||||
tonic-prost = "0.14.6"
|
||||
tokio = { version = "1.52.3", features = ["full"] }
|
||||
actix-web = { version = "4.13.0", features = [] }
|
||||
actix-ws = { version = "0.4.0", features = [] }
|
||||
actix-rt = "2"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = { version = "1" }
|
||||
base64 = "0.22"
|
||||
rand = "0.9"
|
||||
wtransport = "0.7"
|
||||
dashmap = "6"
|
||||
thiserror = "2"
|
||||
async-trait = "0.1"
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||
fred = { version = "10", features = ["subscriber-client"] }
|
||||
async-nats = "0.38"
|
||||
uuid = { version = "1", features = ["v4"] }
|
||||
futures-util = "0.3"
|
||||
|
||||
|
||||
[build-dependencies]
|
||||
tonic-prost-build = "0.14.6"
|
||||
walkdir = "2.5.0"
|
||||
Reference in New Issue
Block a user