docs: add a Role in the framework section to every module README
Each module README now says where the module sits in the dependency graph, why it is its own module, and lists use cases for application developers.
This commit is contained in:
@@ -10,6 +10,16 @@ Authentication for SummerCMS: HS256 JWT minting, verification and refresh, reque
|
||||
|
||||
bouncer decides who is making a request. Guards (`bouncer.Guard`, `bouncer.CredentialGuard`) turn an `*http.Request` into a `bouncer.Principal`; a `bouncer.Registry` holds named guards that plugins register and turns each one into HTTP middleware that stores the principal on the request context. The JWT side issues and checks HS256 tokens for two audiences, frontend users (`bouncer.AudienceUser`) and admin users (`bouncer.AudienceBackend`), with a refresh flow and a jti blacklist compatible with tokens issued by the PHP jwt-auth library. It is the counterpart of WinterCMS's Auth and BackendAuth facades and the JWT auth layer used by API plugins.
|
||||
|
||||
## Role in the framework
|
||||
|
||||
A dependency-free security primitive. `surf` uses it for request guards, `cabana` for admin sign-in, and `conga` and `lighthouse` for authenticated workers and realtime tokens. It is separate so authentication code can be reviewed and tested on its own, without the HTTP or admin layers around it.
|
||||
|
||||
Use cases:
|
||||
|
||||
- Issue and refresh JWTs for a single-page or mobile frontend.
|
||||
- Protect API routes with a guard and read the authenticated user downstream.
|
||||
- Revoke tokens on sign-out and hash and check passwords with bcrypt.
|
||||
|
||||
## Features
|
||||
|
||||
- Token minting with `bouncer.Mint` (frontend audience) and `bouncer.MintAudience` (any audience), each returning the signed token and its random jti.
|
||||
|
||||
Reference in New Issue
Block a user