> ## Documentation Index
> Fetch the complete documentation index at: https://stytch.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Discovery Authenticate

> Authenticate using discovery OAuth with the Stytch Vanilla JS SDK

export const ist = "A session token designed to preserve state when the user has completed an initial authentication step, but has not fully authenticated into an Organization.";

`oauth.$provider.discovery.authenticate()` wraps the [Authenticate Discovery OAuth](/api-reference/b2b/api/oauth/discovery/authenticate) API endpoint which validates the OAuth token passed in. If this method succeeds, the <Tooltip tip={ist}>Intermediate Session</Tooltip> token will be stored in the browser as a cookie.

Use one of the following methods to authenticate a Discovery OAuth token:

* `oauth.google.discovery.authenticate()`
* `oauth.microsoft.discovery.authenticate()`
* `oauth.hubspot.discovery.authenticate()`
* `oauth.slack.discovery.authenticate()`
* `oauth.github.discovery.authenticate()`

### Parameters

<ParamField path="discovery_oauth_token" type="string" required>
  The Discovery OAuth token to authenticate.
</ParamField>

<Panel>
  <RequestExample>
    ```javascript theme={null}
    import { StytchB2BClient } from '@stytch/vanilla-js/b2b';

    const stytch = new StytchB2BClient('public-token-test-b8c84de4-7d58-4ffc-9341-432b56596862');

    // Authenticate using the token in the URL
    stytch.authenticateByUrl();
    ```
  </RequestExample>
</Panel>
