Visual RFC.
ALL RFCs / RFC 8707
Read the RFC ↗
RFC 8707 / REQUEST A TOKEN FOR ITS TARGET

Enforce audiences and tenant boundaries

05

Audience restriction works only when each recipient checks that a token was meant for it. Multi-audience bearer tokens enlarge the set of services that can reuse them.

RFC 8707 · § 3EXAMPLE
4 / 4
Enforce audiences and tenant boundariesA token for the blue tenant is presented at blue after all checks pass. A separate presentation to red stops at its audience gate before data is served. A separate multi-audience bearer token valid at calendar and contacts can be reused by calendar at contacts. The last case stops a token before it reaches an endpoint whose abstract-identifier mapping was not validated.Recipient checks make audience restrictions workresource=urn:example:calendarClientEndpointmapping not validatedNo token sent to an unvalidated endpointEstablish the resource ↔ endpoint binding firstResource signals can reveal intended API use to the AS
04
Validate the endpoint before sending the token.

Separate case: urn:example:calendar is mapped to a configured endpoint. An unvalidated endpoint receives no token; an abstract name is not a safe locator by itself.

Source for this drawing: RFC 8707 · Read RFC section 3 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A key is different from permission.

An app, a person, and a server have different roles. Follow who asks, who grants permission, and who checks the credential. A key in the drawing is an analogy, not a literal protocol field.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

What changed
RFC 8707 §3 audience restrictionsRFC 9700 §2.3

Current OAuth security BCP makes recipient-side audience enforcement explicit: a resource server MUST refuse a request whose token was not meant for it. This is related guidance, not a formal update or a new edition of RFC8707.

Read the updated RFC section ↗
KEY POINT

Check audience and action before serving a request.

  • Use a specific resource URI including the tenant-identifying portion where applicable. A token for the blue tenant must not accidentally authorize access to another tenant hosted at the same origin.
  • Using one resource per token request is encouraged. A multi-audience bearer token is usable at each intended recipient, so any recipient can potentially reuse it at the others; high mutual trust is needed. The server may refuse such a request.
  • RFC9700 §2.3 says access tokens SHOULD be audience-restricted to a specific resource server, or a small set if necessary, and a resource server MUST refuse a request whose token was not meant for it. Audience checks complement signature/introspection, expiry, action and authorization checks.
DETAILS

Every acceptance in this drawing assumes all other token and policy checks pass. Abstract resource IDs require validating the network endpoint out of band; accepting an identifier is not automatic discovery or fetch permission. Resource indicators can let the authorization server observe more granular resource-use intentions (RFC8707 §4); they do not add confidentiality.

Read the RFC section ↗

All chapters in RFC 8707

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗