Install AI Tools

B2C Commerce tools, documentation, and skills for your assistant.

Claude

Using Claude Desktop? See Claude Desktop (Cowork) setup.

Install the plugin Recommended

bash
claude plugin marketplace add SalesforceCommerceCloud/b2c-developer-tooling
claude plugin install b2c-dx-mcp@b2c-developer-tooling

Start a new Claude Code session. To install for the current project only, run it from your project directory with --scope project.

Manual MCP setup
bash
claude mcp add --transport stdio --scope user b2c-dx-mcp -- npx -y @salesforce/b2c-dx-mcp@latest

Start a new session. To configure the current project only, run it from your project directory with --scope project. See Claude Code MCP setup.

Codex/ChatGPT

Using the ChatGPT desktop app (ChatGPT Work)? See ChatGPT Work setup.

Install the plugin Recommended

bash
codex plugin marketplace add SalesforceCommerceCloud/b2c-developer-tooling
codex plugin add b2c-dx-mcp@b2c-developer-tooling

Start a new Codex session in your project. Codex plugins also work in ChatGPT Work.

Manual MCP setup
bash
codex mcp add b2c-dx-mcp -- npx -y @salesforce/b2c-dx-mcp@latest

Or add this to ~/.codex/config.toml (or $CODEX_HOME/config.toml if customized):

toml
[mcp_servers.b2c-dx-mcp]
command = "npx"
args = ["-y", "@salesforce/b2c-dx-mcp@latest"]

Start a new session. See Codex MCP configuration.

VS Code

Install the plugin Recommended

  1. Open the Command Palette (Cmd/Ctrl+Shift+P) and run Chat: Install Plugin from Source.
  2. Enter SalesforceCommerceCloud/b2c-developer-tooling.
  3. Select b2c-dx-mcp and follow the installation prompts.
  4. Start a new chat in GitHub Copilot.
Manual MCP setup

Add this to .vscode/mcp.json in your workspace:

json
{
  "servers": {
    "b2c-dx-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@salesforce/b2c-dx-mcp@latest"]
    }
  }
}

See VS Code MCP setup.

Copilot CLI setup

Cursor

Reload the MCP server in Cursor after installation.

Manual MCP setup

Add this to .cursor/mcp.json in your project:

json
{
  "mcpServers": {
    "b2c-dx-mcp": {
      "command": "npx",
      "args": ["-y", "@salesforce/b2c-dx-mcp@latest"]
    }
  }
}

For all projects, use ~/.cursor/mcp.json instead.

See Cursor's MCP documentation.

OpenCode

Add this to opencode.json in your project:

json
{
  "mcp": {
    "b2c-dx-mcp": {
      "type": "local",
      "command": ["npx", "-y", "@salesforce/b2c-dx-mcp@latest"],
      "enabled": true
    }
  }
}

Restart OpenCode. For all projects, use ~/.config/opencode/opencode.json. See OpenCode MCP setup.

Gemini

Run:

bash
gemini mcp add --scope user b2c-dx-mcp -- npx -y @salesforce/b2c-dx-mcp@latest

Start a new Gemini CLI session. To configure the current project only, run it from your project directory with --scope project. See Gemini CLI MCP setup.

No separate skills plugins needed.

Other clients and manual setup →
Skip to content
View as Markdown
View as Markdown

@salesforce/b2c-tooling-sdk / auth / ImplicitOAuthStrategy

Class: ImplicitOAuthStrategy ​

Defined in: packages/b2c-tooling-sdk/src/auth/oauth-implicit.ts:130

OAuth 2.0 Implicit Grant Flow authentication strategy.

This strategy is used when only a client ID is available (no client secret). It opens a browser for the user to authenticate with Account Manager, then captures the access token from the OAuth redirect.

Note: The access token from implicit flow is valid for 30 minutes and cannot be renewed. This flow requires user interaction and a TTY.

Example ​

typescript
import { ImplicitOAuthStrategy } from '@salesforce/b2c-tooling-sdk';

const auth = new ImplicitOAuthStrategy({
  clientId: 'your-client-id',
  scopes: ['sfcc.products', 'sfcc.orders'],
});

// Will open browser for authentication
const response = await auth.fetch('https://example.com/api/resource');

Implements ​

Constructors ​

Constructor ​

new ImplicitOAuthStrategy(config): ImplicitOAuthStrategy

Defined in: packages/b2c-tooling-sdk/src/auth/oauth-implicit.ts:145

Creates a new ImplicitOAuthStrategy instance.

Parameters ​

config ​

ImplicitOAuthConfig

OAuth implicit flow configuration containing clientId, optional scopes, accountManagerHost, localPort, redirectUri, and openBrowser callback.

Returns ​

ImplicitOAuthStrategy

Properties ​

authMethod ​

readonly authMethod: "implicit"

Defined in: packages/b2c-tooling-sdk/src/auth/oauth-implicit.ts:131

Methods ​

fetch() ​

fetch(url, init): Promise<Response>

Defined in: packages/b2c-tooling-sdk/src/auth/oauth-implicit.ts:249

Performs a fetch request with authentication. Implementations MUST handle header injection and 401 retries (token refresh) internally.

Parameters ​

url ​

string

init ​

FetchInit = {}

Returns ​

Promise<Response>

Implementation of ​

AuthStrategy.fetch


getAuthorizationHeader() ​

getAuthorizationHeader(): Promise<string>

Defined in: packages/b2c-tooling-sdk/src/auth/oauth-implicit.ts:291

Optional: Helper for legacy clients (like a strict WebDAV lib) that need the raw header.

Returns ​

Promise<string>

Implementation of ​

AuthStrategy.getAuthorizationHeader


getJWT() ​

getJWT(): Promise<DecodedJWT>

Defined in: packages/b2c-tooling-sdk/src/auth/oauth-implicit.ts:299

Gets the decoded JWT payload

Returns ​

Promise<DecodedJWT>


getTokenResponse() ​

getTokenResponse(): Promise<AccessTokenResponse>

Defined in: packages/b2c-tooling-sdk/src/auth/oauth-implicit.ts:308

Gets the full token response including expiration and scopes. Useful for commands that need to display or return token metadata.

Returns ​

Promise<AccessTokenResponse>


invalidateToken() ​

invalidateToken(): void

Defined in: packages/b2c-tooling-sdk/src/auth/oauth-implicit.ts:335

Invalidates the cached token, forcing re-authentication on next request

Returns ​

void

Implementation of ​

AuthStrategy.invalidateToken