JavaScript / TypeScript Hooks
JavaScript / TypeScript Hooks is one of the supported hooks to receive events.
JavaScript / TypeScript Hooks are written as a ES2015 module. The module is executed by Deno.
The module MUST have a default export of a function taking 1 argument. The argument is the event. The function can either be synchronous or asynchronous.
If the Hook is registered for a blocking event, the function MUST return a value according to the specification.
The Hooks DO NOT have access to file, or environment. They only have access to external network.
The stdout and the stderr of the Hooks are both ignored. Your hooks MUST NOT assume anything on the arguments and the stdin of the module.
Configure Authgear to deliver events to your Hooks
In the portal, go to Advanced > Hooks.
Add your Hooks in Blocking Events and Non-Blocking Events, depending on which event you want to listen to.
Click Save.
Examples
Here is an example of a Hook for a blocking event.
An example to mutate a JWT token
Here is an example of a Hook for a non-blocking event.
TypeScript Definition
https://deno.land/x/authgear_deno_hook is a TypeScript definition that aids you in writing a Hook. You can see the full definition at https://deno.land/x/authgear_deno_hook/mod.ts
If you are a Visual Studio Code user, you can set up your editor to take full advantage of the definition.
Alternatively, you can edit your hook and use the Deno CLI to typecheck.
Last updated