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

# OData

export const CommonAuthSchemeDigest = ({datasource = "the data source"}) => {
  return <>
      <p>To connect with your user credentials, set the following properties:</p>
      <ul>
        <li><strong>Auth Scheme:</strong> Select <strong>Digest</strong>.</li>
        <li><strong>User:</strong> Enter the username that you use to authenticate to your {datasource} account.</li>
        <li><strong>Password:</strong> Enter the password that you use to authenticate to your {datasource} account.</li>
      </ul>
    </>;
};

export const CommonAuthSchemeBasic = ({siteName = "CData Sync", siteNameShort = "Sync", datasource = "the data source"}) => {
  return <>
      <p>To connect with your user credentials, set the following properties:</p>
      <ul>
        <li><strong>Auth Scheme:</strong> Select <strong>Basic</strong>.</li>
        <li><strong>User:</strong> Enter the username that you use to authenticate to your {datasource} account.</li>
        <li><strong>Password:</strong> Enter the password that you use to authenticate to your {datasource} account.</li>
      </ul>
    </>;
};

export const CommonAuthSchemeNone = ({siteName = "CData Sync", siteNameShort = "Sync", datasource = "the data source"}) => {
  return <>
      <p>To connect without authentication, select <strong>None</strong> for <strong>Auth Scheme</strong>. No additional properties are required.</p>
    </>;
};

export const CommonDatasourceMoreInformation = ({datasource = "the data source", advancedurl = "", siteName = "CData Sync", driverVersion = ""}) => {
  return <>
      <p>
        For more information about interactions between {siteName} and {datasource}, see{' '}
        <a href={`https://cdn.cdata.com/help/${advancedurl}${driverVersion}/synch/default.htm`}>
          {datasource} Connector for {siteName}
        </a>.
      </p>
    </>;
};

export const CommonDatasourceAddConnector = ({datasource = "the data source", title = "the connector", destination = false, siteNameShort = "Sync"}) => {
  return <>
      <p>
        To enable {siteNameShort} to use data from {datasource}, you first must add the
        connector, as follows:
      </p>
      <ol>
        <li>Open the <strong>Connections</strong> page of the {siteNameShort} dashboard.</li>
        <li>Click <strong>Add Connection</strong> to open the <strong>Select Connectors</strong> page.</li>
        <li>
          Click the <strong>{destination ? "Destinations" : "Sources"}</strong> tab and locate
          the <strong>{title}</strong> row.
        </li>
        <li>
          Click the <strong>Configure Connection</strong> icon at the end of that row to open
          the <strong>New Connection</strong> page. This action opens the{' '}
          <strong>Add Connection</strong> dialog box.
          <br />
          <strong>Note:</strong> If the <strong>Configure Connection</strong> icon is not
          available, click the <strong>Download Connector</strong> icon to install
          the {title} connector.
        </li>
        <li>Enter a name for your connection in the <strong>Add Connection</strong> dialog box.</li>
        <li>Click <strong>Add</strong> to open the <strong>Settings</strong> tab for your connector.</li>
      </ol>
      <p>
        For more information about installing new connectors, see{' '}
        <a href="../connections">Connections</a>.
      </p>
    </>;
};

export const CommonDatasourceIntroSource = ({datasource = "the data source", siteName = "CData Sync"}) => {
  return <p>
      You can use the {datasource} connector from the {siteName} application to capture data
      from {datasource} and move it to any supported destination. To do so, you need to add
      the connector, authenticate to the connector, and complete your connection.
    </p>;
};

export const driverVersion = "M";

export const siteNameShort = "Sync";

export const siteName = "CData Sync";

export const datasource = "OData";
export const pageTitle = "OData";
export const advancedurl = "RD";
export const oauthschemes = "AzureAD or OAuth";

<CommonDatasourceIntroSource datasource={datasource} siteName={siteName} />

## Add the OData Connector

<CommonDatasourceAddConnector datasource={datasource} title={pageTitle} destination={false} siteNameShort={siteNameShort} />

## Authenticate to OData

After you add the connector, you need to set the required properties.

**URL:** Enter the URL to your organization root or to the OData services file.

{siteName} supports authenticating to {datasource} in several ways. Select your authentication method below to proceed to the relevant section that contains the authentication details.

* [**None**](#none)
* [**Azure Active Directory**](#azure-active-directory)
* [**Basic**](#basic)
* [**Digest**](#digest)
* [**Negotiate**](#negotiate)
* [**NTLM**](#ntlm)
* [**OAuth**](#oauth)
* [**OAuth Password**](#oauth-password)
* [**OAuthClient**](#oauth-client)
* [**SharePointOnline**](#sharepoint-online)

### None

<CommonAuthSchemeNone siteName={siteName} siteNameShort={siteNameShort} datasource={datasource} />

### Azure Active Directory

To connect with an Azure Active Directory (AD) user account, specify the following properties:

* **Auth Scheme:** Select **AzureAD**.
* **Azure Tenant:** Enter the OData tenant that is used to access data. Enter either the name (for example, *YourTenantName*.com) or the identifier (for example, **Conditional**).
* **OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.
* **OAuth Client Secret:** Enter the client secret that you were assigned when you registered your application with an OAuth authorization server.

### Basic

<CommonAuthSchemeBasic siteName={siteName} siteNameShort={siteNameShort} datasource={datasource} />

### Digest

<CommonAuthSchemeDigest siteName={siteName} siteNameShort={siteNameShort} datasource={datasource} />

### Negotiate

To connect with your user credentials, set the following properties:

* **Auth Scheme:** Select **Negotiate**.
* **Kerberos KDC:** Enter the Kerberos Key Distribution Center (KDC) service that you use to authenticate.
* **Kerberos SPN:** Enter the service principal name (SPN) for the Kerberos domain controller.

### NTLM

To connect with NTLM user credentials, specify the following properties:

* **Auth Scheme:** Select **NTLM**.
* **User:** Enter the username that you use to authenticate to your {datasource} account.
* **Password:** Enter the password that you use to authenticate to your {datasource} account.

### OAuth

To connect with OAuth custom credentials, specify the following properties:

* **Auth Scheme:** Select **OAuth**.
* **Initiate OAuth:** Select the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
  * **OFF:** By choosing this setting, automatic OAuth-flow initiation is turned off. The OAuth flow is handled entirely by the user. With this setting, the user must refresh the token manually and reconnect with an updated **OAuthAccessToken** property when the current token expires.
  * **REFRESH:** When you choose this setting, the OAuth flow is handled entirely by the {siteNameShort} application. If a token exists already, it is refreshed when necessary. If no token currently exists, it is obtained by prompting the user to login.
  * **GETREFRESH:** With you select this setting, the user is responsible for obtaining the initial OAuth access token and for configuring the refresh sequence. The user is not prompted to log in for authentication. After the initial login, the {siteNameShort} application automatically manages the OAuth access token refresh process.
* **OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.
* **OAuth Client Secret:** Enter the client secret that you were assigned when you registered your application with an OAuth authorization server.
* (Optional) **OAuth Authorization URL:** Enter the OAuth authorization URL that you need to authorize request tokens when you sign in.
* (Optional) **OAuth Access Token URL:** Enter the URL where the request for the access token is made.
* (Optional) **OAuth Refresh Token URL:** Enter the URL where the refresh token is exchanged for a new access token when the old one expires. Note that for your data source, this URL might be the same as the access-token URL.

### OAuth Password

To connect with OAuth via a password grant type, specify the following properties:

* **Auth Scheme:** Select **OAuthPassword**.
* **User:** Enter the username that you use to authenticate to your {datasource} account.
* **Password:** Enter the password that you use to authenticate to your {datasource} account.
* **Initiate OAuth:** Select the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
  * **OFF:** By choosing this setting, automatic OAuth-flow initiation is turned off. The OAuth flow is handled entirely by the user. With this setting, the user must refresh the token manually and reconnect with an updated **OAuthAccessToken** property when the current token expires.
  * **REFRESH:** When you choose this setting, the OAuth flow is handled entirely by the {siteNameShort} application. If a token exists already, it is refreshed when necessary. If no token currently exists, it is obtained by prompting the user to login.
  * **GETREFRESH:** With you select this setting, the user is responsible for obtaining the initial OAuth access token and for configuring the refresh sequence. The user is not prompted to log in for authentication. After the initial login, the {siteNameShort} application automatically manages the OAuth access token refresh process.
* **OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.
* **OAuth Client Secret:** Enter the client secret that you were assigned when you registered your application with an OAuth authorization server.
* (Optional) **OAuth Access Token URL:** Enter the URL where the request for the access token is made.
* (Optional) **OAuth Refresh Token URL:** Enter the URL where the refresh token is exchanged for a new access token when the old one expires. Note that for your data source, this URL might be the same as the access-token URL.

### OAuth Client

To connect with OAuth via a client grant type, specify the following properties:

* **Auth Scheme:** Select **OAuthPassword**.
* **Initiate OAuth:** Select the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
  * **OFF:** By choosing this setting, automatic OAuth-flow initiation is turned off. The OAuth flow is handled entirely by the user. With this setting, the user must refresh the token manually and reconnect with an updated **OAuthAccessToken** property when the current token expires.
  * **REFRESH:** When you choose this setting, the OAuth flow is handled entirely by the {siteNameShort} application. If a token exists already, it is refreshed when necessary. If no token currently exists, it is obtained by prompting the user to login.
  * **GETREFRESH:** With you select this setting, the user is responsible for obtaining the initial OAuth access token and for configuring the refresh sequence. The user is not prompted to log in for authentication. After the initial login, the {siteNameShort} application automatically manages the OAuth access token refresh process.
* **OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.
* **OAuth Client Secret:** Enter the client secret that you were assigned when you registered your application with an OAuth authorization server.
* (Optional) **OAuth Access Token URL:** Enter the URL where the request for the access token is made.
* (Optional) **OAuth Refresh Token URL:** Enter the URL where the refresh token is exchanged for a new access token when the old one expires. Note that for your data source, this URL might be the same as the access-token URL.

### SharePoint Online

To connect with SharePoint Online credentials, specify the following properties:

* **User:** Enter the username that you use to authenticate to your {datasource} account.
* **Password:** Enter the password that you use to authenticate to your {datasource} account.

## Complete Your Connection

To complete your connection:

1. Define advanced connection settings on the **Advanced** tab. (In most cases, though, you should not need these settings.)
2. {oauthschemes ? `If you authenticate with ${oauthschemes}, click` : "Click"} **Connect to {datasource}** to connect to your {pageTitle} account.
3. Click **Create & Test** to create your connection.

## More Information

<CommonDatasourceMoreInformation datasource={datasource} advancedurl={advancedurl} siteName={siteName} driverVersion={driverVersion} />
