docs: add authentication implementation plan with 15 TDD tasks
Covers NuGet packages, protocol types, auth models, authenticators (token, user/password, NKey), AuthService orchestrator, permissions, server/client integration, account isolation, and integration tests.
This commit is contained in:
2684
docs/plans/2026-02-22-authentication-plan.md
Normal file
2684
docs/plans/2026-02-22-authentication-plan.md
Normal file
File diff suppressed because it is too large
Load Diff
21
docs/plans/2026-02-22-authentication-plan.md.tasks.json
Normal file
21
docs/plans/2026-02-22-authentication-plan.md.tasks.json
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"planPath": "docs/plans/2026-02-22-authentication-plan.md",
|
||||||
|
"tasks": [
|
||||||
|
{"id": 0, "subject": "Task 0: Add NuGet packages (NATS.NKeys, BCrypt.Net-Next)", "status": "pending"},
|
||||||
|
{"id": 1, "subject": "Task 1: Add auth fields to protocol types", "status": "pending", "blockedBy": [0]},
|
||||||
|
{"id": 2, "subject": "Task 2: Add auth config to NatsOptions + model types", "status": "pending", "blockedBy": [1]},
|
||||||
|
{"id": 3, "subject": "Task 3: Implement Account type with per-account SubList", "status": "pending", "blockedBy": [2]},
|
||||||
|
{"id": 4, "subject": "Task 4: Implement TokenAuthenticator", "status": "pending", "blockedBy": [2]},
|
||||||
|
{"id": 5, "subject": "Task 5: Implement UserPasswordAuthenticator", "status": "pending", "blockedBy": [2]},
|
||||||
|
{"id": 6, "subject": "Task 6: Implement SimpleUserPasswordAuthenticator", "status": "pending", "blockedBy": [2]},
|
||||||
|
{"id": 7, "subject": "Task 7: Implement NKeyAuthenticator", "status": "pending", "blockedBy": [2]},
|
||||||
|
{"id": 8, "subject": "Task 8: Implement AuthService orchestrator", "status": "pending", "blockedBy": [3, 4, 5, 6, 7]},
|
||||||
|
{"id": 9, "subject": "Task 9: Implement ClientPermissions", "status": "pending", "blockedBy": [2]},
|
||||||
|
{"id": 10, "subject": "Task 10: Integrate auth into NatsServer and NatsClient", "status": "pending", "blockedBy": [8, 9]},
|
||||||
|
{"id": 11, "subject": "Task 11: Implement account isolation in message routing", "status": "pending", "blockedBy": [10]},
|
||||||
|
{"id": 12, "subject": "Task 12: Add permission enforcement integration tests", "status": "pending", "blockedBy": [10]},
|
||||||
|
{"id": 13, "subject": "Task 13: Add NKey integration test", "status": "pending", "blockedBy": [10]},
|
||||||
|
{"id": 14, "subject": "Task 14: Final regression test and cleanup", "status": "pending", "blockedBy": [11, 12, 13]}
|
||||||
|
],
|
||||||
|
"lastUpdated": "2026-02-22T00:00:00Z"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user