Does OAuth define what an access token contains, and what does "bearer token" mean?
No: OAuth leaves the token format open; in practice it is either an opaque random string or a signed JSON Web Token (JWT). A bearer token works like cash: whoever holds it can use it, without proving anything else.
Two common formats:
- Opaque (reference) token: a random string with no meaning to the client. The resource server looks it up at the authorization server (token introspection) to learn the scopes and expiry.
- Self-contained token (usually a signed JWT): the token itself carries the claims (issuer, subject, scopes, expiry) and a signature. The resource server verifies the signature locally without calling the authorization server.
Bearer (RFC 6750) describes how the token is used: the client sends Authorization: Bearer <token> and the resource server grants access to whoever presents it. There is no proof that the presenter is the client the token was issued to. That makes bearer tokens simple, but it also means a stolen token is as good as the real one, which is why they must only travel over TLS, should be short-lived, and why newer standards add sender-constrained tokens (bound to a key or certificate of the client).
Go deeper:
RFC 6750: Bearer Token Usage — the definition of a bearer token and how to send one.
oauth.net: What is an Access Token — opaque versus self-encoded tokens and how APIs validate them.
RFC 9068: JWT Profile for OAuth 2.0 Access Tokens — the standard layout for access tokens that are JWTs.