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