Eve's channel auth decides who may open a session. It does not decide which outbound tool that session may call. The sample stops at the session `401`. Tool authorization belongs on the API the tool calls.

Outbound tool sign-in, where Eve itself fetches a provider token, is a separate Eve concern. This guide does not configure it. If your tool calls an Authdog-protected API, that API is the gate.

## Check the API the tool calls

Put `require_auth` (or a `token_verifier`, if the tool is an MCP server) on that API. Pass the same bearer the caller already presented, or a token minted for that call. A missing bearer is `401` from the API. The Eve session can stay open and the tool can return that error to the model.

| Check | Where it runs |
| --- | --- |
| JWT signature, issuer, expiry, audience | Eve channel, before the session starts |
| Subject, from the verified token | The API, via userinfo or the JWT `sub` |
| Allowed tools and scopes | Trust-store row for that subject, if you enforce it |
| The specific action | [Authorization](/docs/concepts/authorization) on your API |

The sample does not read allowed-tool globs. A session that Eve accepted is not permission to call every tool you might add later.

Revoke in [Agents](/docs/console/agents) stops new tokens when the subject is the OIDC client id. A JWT Eve already accepted stays valid until `exp` unless your API also enforces the trust store. Eve's `oidc()` check is signature, issuer, expiry, and audience.

## Acting for a person

If the bearer is an [RFC 8693 token](/guides/agent-delegation), authorize the user in `sub` and record the agent in `act`. Do not authorize the agent as if it were the user.

## Related

| Read | To learn how to |
| --- | --- |
| [Custom channel auth for Eve](/docs/ai/eve/channel-auth) | Admit the session |
| [Enriching instructions for Eve](/docs/ai/eve/enriching-instructions) | Keep secrets out of `defineAgent` |
| [Authorizing tool calls for MCP](/docs/ai/mcp/authorize-tool-calls) | Use the same idea when the tool is an MCP server |
| [Agents](/docs/console/agents) | Revoke the identity and set allowed tools |
