Compare commits
3 Commits
v2023.9.20
...
v2023.9.20
Author | SHA1 | Date | |
---|---|---|---|
c3535a4a9b | |||
7e58551f6a | |||
41d5db6321 |
@ -216,15 +216,17 @@ func runApp(ctx context.Context, path string, address string, storageFile string
|
|||||||
authModule.WithJWT(dummyKeySet),
|
authModule.WithJWT(dummyKeySet),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
appHTTP.WithHTTPMiddlewares(
|
||||||
|
authModuleMiddleware.AnonymousUser(
|
||||||
|
jwa.HS256, key,
|
||||||
|
),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
if err := handler.Load(bundle); err != nil {
|
if err := handler.Load(bundle); err != nil {
|
||||||
return errors.Wrap(err, "could not load app bundle")
|
return errors.Wrap(err, "could not load app bundle")
|
||||||
}
|
}
|
||||||
|
|
||||||
router := chi.NewRouter()
|
router := chi.NewRouter()
|
||||||
router.Use(authModuleMiddleware.AnonymousUser(
|
|
||||||
jwa.HS256, key,
|
|
||||||
))
|
|
||||||
router.Use(middleware.Logger)
|
router.Use(middleware.Logger)
|
||||||
router.Use(middleware.Compress(5))
|
router.Use(middleware.Compress(5))
|
||||||
|
|
||||||
|
@ -2,6 +2,14 @@
|
|||||||
|
|
||||||
Ce module permet de récupérer des informations concernant l'utilisateur connecté et ses attributs.
|
Ce module permet de récupérer des informations concernant l'utilisateur connecté et ses attributs.
|
||||||
|
|
||||||
|
### Utilisateurs anonymes
|
||||||
|
|
||||||
|
Edge génère automatiquement une session pour les utilisateurs anonymes. Ainsi, qu'un utilisateur soit identifié ou non les `claims` suivants seront toujours valués:
|
||||||
|
|
||||||
|
- `auth.CLAIM_SUBJECT`
|
||||||
|
- `auth.CLAIM_PREFERRED_USERNAME`
|
||||||
|
- `auth.CLAIM_ISSUER` (prendra la valeur `anon` dans le cas d'un utilisateur anonyme)
|
||||||
|
|
||||||
## Méthodes
|
## Méthodes
|
||||||
|
|
||||||
### `auth.getClaim(ctx: Context, name: string): string`
|
### `auth.getClaim(ctx: Context, name: string): string`
|
||||||
|
@ -43,12 +43,6 @@ function onClientMessage(ctx, message) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Propriétés
|
|
||||||
|
|
||||||
### `context.SESSION_ID`
|
|
||||||
|
|
||||||
Clé permettant de récupérer la clé de session associé au client émetteur du message courant.
|
|
||||||
|
|
||||||
#### Usage
|
#### Usage
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
@ -97,6 +97,10 @@ func NewHandler(funcs ...HandlerOptionFunc) *Handler {
|
|||||||
bus: opts.Bus,
|
bus: opts.Bus,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, middleware := range opts.HTTPMiddlewares {
|
||||||
|
router.Use(middleware)
|
||||||
|
}
|
||||||
|
|
||||||
router.Route("/edge", func(r chi.Router) {
|
router.Route("/edge", func(r chi.Router) {
|
||||||
r.Route("/sdk", func(r chi.Router) {
|
r.Route("/sdk", func(r chi.Router) {
|
||||||
r.Get("/client.js", handler.handleSDKClient)
|
r.Get("/client.js", handler.handleSDKClient)
|
||||||
|
@ -18,6 +18,7 @@ type HandlerOptions struct {
|
|||||||
UploadMaxFileSize int64
|
UploadMaxFileSize int64
|
||||||
HTTPClient *http.Client
|
HTTPClient *http.Client
|
||||||
HTTPMounts []func(r chi.Router)
|
HTTPMounts []func(r chi.Router)
|
||||||
|
HTTPMiddlewares []func(next http.Handler) http.Handler
|
||||||
}
|
}
|
||||||
|
|
||||||
func defaultHandlerOptions() *HandlerOptions {
|
func defaultHandlerOptions() *HandlerOptions {
|
||||||
@ -34,7 +35,8 @@ func defaultHandlerOptions() *HandlerOptions {
|
|||||||
HTTPClient: &http.Client{
|
HTTPClient: &http.Client{
|
||||||
Timeout: time.Second * 30,
|
Timeout: time.Second * 30,
|
||||||
},
|
},
|
||||||
HTTPMounts: make([]func(r chi.Router), 0),
|
HTTPMounts: make([]func(r chi.Router), 0),
|
||||||
|
HTTPMiddlewares: make([]func(http.Handler) http.Handler, 0),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,3 +77,9 @@ func WithHTTPMounts(mounts ...func(r chi.Router)) HandlerOptionFunc {
|
|||||||
opts.HTTPMounts = mounts
|
opts.HTTPMounts = mounts
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func WithHTTPMiddlewares(middlewares ...func(http.Handler) http.Handler) HandlerOptionFunc {
|
||||||
|
return func(opts *HandlerOptions) {
|
||||||
|
opts.HTTPMiddlewares = middlewares
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user