Accessing IP geolocation data in your application.
app
application, Arcjet is called in the apps/app/app/(authenticated)/layout.tsx
file which runs on every authenticated route.
For the web
application, Arcjet is called in the middleware, which runs on every request except for static assets.
In both cases you could apply app-/website-wide rules based on the IP details, such as showing different content based on the user’s location.
aj.protect()
. The IP location fields may be undefined
, so you can use various utility functions to retrieve the data.
app
) or middleware (web
) and call it in the specific page where you need the IP details.
See the Arcjet documentation on how to call aj.protect()
in route handlers, pages / server components, and server actions.
apps/app/app/(authenticated)/layout.tsx
or middleware.ts
it will no longer run on every request. You will need to call aj.protect()
everywhere you wish to apply Arcjet rules, even if you don’t need the IP details.