-
Notifications
You must be signed in to change notification settings - Fork 87
Implement a secure signed capability token codec for internal GuildPass authorisation #371
Copy link
Copy link
Closed
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesThird CampaignOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsaccess-controlAccess evaluation, permissions, authorisation rules, and protected resource logicAccess evaluation, permissions, authorisation rules, and protected resource logicbackendBackend services, application logic, persistence integration, and server-side functionalityBackend services, application logic, persistence integration, and server-side functionalityexpertExpert difficulty tasks requiring deep expertise and architectural decision-makingExpert difficulty tasks requiring deep expertise and architectural decision-makingsecuritySecurity-related fix, hardening, audit, or vulnerability remediationSecurity-related fix, hardening, audit, or vulnerability remediation
Description
Activity
Metadata
Metadata
Assignees
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesThird CampaignOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsaccess-controlAccess evaluation, permissions, authorisation rules, and protected resource logicAccess evaluation, permissions, authorisation rules, and protected resource logicbackendBackend services, application logic, persistence integration, and server-side functionalityBackend services, application logic, persistence integration, and server-side functionalityexpertExpert difficulty tasks requiring deep expertise and architectural decision-makingExpert difficulty tasks requiring deep expertise and architectural decision-makingsecuritySecurity-related fix, hardening, audit, or vulnerability remediationSecurity-related fix, hardening, audit, or vulnerability remediation
Difficulty: Expert
Type: Feature
Recommended labels (if available in this repo): security, access-control, backend, expert
Background
GuildPass may need to represent short-lived internal authorisation capabilities that can be passed between trusted components without requiring each consumer to query a central store for every operation.
This issue introduces a generic signed capability token primitive only. It is not an authentication system and must not replace user sessions or wallet authentication.
Problem
There is currently no standard Core mechanism for issuing and verifying compact, tamper-evident capability payloads with clear expiry and scope semantics.
A poorly designed token can be replayed indefinitely, modified by clients or accepted outside its intended audience.
Expected Outcome
Build a dependency-light capability token codec that signs a constrained payload and verifies integrity, expiry, audience and optional scope requirements.
Suggested Implementation
Define a payload similar to:
The implementation should:
Acceptance Criteria
pnpm typecheckpasses.pnpm buildpasses.pnpm testpasses.Likely Affected Files/Directories
Independence Requirement
This issue must be independently implementable from
mainand must not rely on an authentication, membership or API issue being completed first.