> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-feat-anonymous-sessions.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Session Tokens

> Session tokens enable anonymous sessions in Auth0, allowing applications to maintain session state without an authenticated user.

export const ReleaseStageNotice = ({feature, stage, plans, contact, terms}) => {
  const stageTextMap = {
    "beta": "Beta",
    "ea": "Early Access"
  };
  const stageText = stageTextMap[stage] || "a product release stage";
  const prsLink = "/docs/troubleshoot/product-lifecycle/product-release-stages";
  const linkify = (text, url) => {
    return <a href={url} target="_blank" rel="noreferrer" class="link">{text}</a>;
  };
  const includeDetails = (plans, contact, terms) => {
    const hasDetails = terms || plans || contact;
    if (!hasDetails) return null;
    return <span data-as="p">
            {plans && <>This feature is available for {linkify(`${plans} plans`, "https://auth0.com/pricing")}. </>}
            {contact && "To participate, contact " + contact + ". "}
            {terms && <>By using this feature, you agree to the applicable Free Trial terms in Okta's {linkify("Master Subscription Agreement", "https://www.okta.com/legal")}.</>}
        </span>;
  };
  return <Warning>
            <span data-as="p">
                <strong>The {feature} feature is in {linkify(stageText, prsLink)}.</strong>
            </span>

            {includeDetails(plans, contact, terms)}
        </Warning>;
};

<ReleaseStageNotice feature="Session Tokens" stage="beta" terms="true" contact="Auth0 Support" />

In [anonymous user](/docs/manage-users/sessions/anonymous-sessions) flows, where there is no authenticated user, Auth0 provides a mechanism to establish a session anonymously.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Auth0 issues a session token and an [access token](/docs/secure/tokens/access-tokens) in response to an [`/anonymous/token`](/docs/manage-users/sessions/anonymous-sessions#gather-anonymous-sessions-data) request. To learn more, read [Configure Anonymous Sessions](/docs/manage-users/sessions/anonymous-sessions/configure-anonymous-sessions).
</Callout>

The session token contains the anonymous user identity and session information attributes.

The access token is usually a JSON Web Token (JWT) whose claims can be read and processed by a resource server (API), whereas the session token is opaque and only meant to be read by Auth0.

Typically, a user needs a new access token when gaining access to a resource for the first time, or after the previous access token granted to them expires. A session token is a credential artifact that your application can use to get a new access token when necessary. You can continue to request new access tokens until the [`anonymous_session_lifetime`](/docs/manage-users/sessions/anonymous-sessions/configure-anonymous-sessions#configure-anonymous-sessions-in-your-auth0-tenant) expires.

## Session token benefits

* A session token is not bound to the device that created the session. It can be ported and used in a different device.

* A session token can be included in authorization requests, and the information inside the session token is surfaced in Actions, to complement the login transaction.
