# Authorize with AshJsonApi
By default, `authorize?` in the domain is set to true. To disable authorization entirely for a given domain in graphql, use:
```elixir
json_api do
authorize? false
end
```
This is typically only necessary for testing purposes.
If you are doing authorization, you'll need to provide an `actor`.
## Setting the actor manually
If you are using AshAuthentication, this will be done for you. To set the `actor` for authorization, you'll need to add an `actor` key to the
`conn`. Typically, you would have a plug that fetches the current user and uses `Ash.PlugHelpers.set_actor/2` to set the actor in the `conn` (likewise with `Ash.PlugHelpers.set_tenant/2`).
```elixir
defmodule MyAppWeb.Router do
pipeline :api do
# ...
plug :get_actor_from_token
end
def get_actor_from_token(conn, _opts) do
with ["" <> token] <- get_req_header(conn, "authorization"),
{:ok, user, _claims} <- MyApp.Guardian.resource_from_token(token) do
conn
|> Ash.PlugHelpers.set_actor(user)
else
_ -> conn
end
end
end
```