| 71 | * it once at boot like self-host's. |
| 72 | */ |
| 73 | export const makeLocalIdentityLayer = (token: string): Layer.Layer<IdentityProvider> => |
| 74 | Layer.succeed(IdentityProvider)( |
| 75 | IdentityProvider.of({ |
| 76 | authenticate: (request) => { |
| 77 | if (isUnauthenticatedCallback(request)) return Effect.succeed(LOCAL_PRINCIPAL); |
| 78 | const presented = bearerToken(request.headers); |
| 79 | return presented !== undefined && safeEqual(presented, token) |
| 80 | ? Effect.succeed(LOCAL_PRINCIPAL) |
| 81 | : Effect.fail(new Unauthorized()); |
| 82 | }, |
| 83 | }), |
| 84 | ); |