Stytch Javascript SDK
Installation
npm install @stytch/vanilla-js
Usage
The vanilla Stytch Javascript SDK is built on open web standards and is compatible with all Javascript frameworks.
B2C StytchUIClient
The Stytch UI Client provides methods for interacting with the Stytch API from a browser environment, along with prebuilt UI components such as our login form.
import { StytchUIClient } from '@stytch/vanilla-js';
const stytch = new StytchUIClient('public-token-test-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');
stytch.magicLinks.email.loginOrCreate('charles.babbage@example.com');
stytch.mountLogin({
elementId: '#magic-link',
config: {
products: ['emailMagicLinks', 'oauth'],
emailMagicLinksOptions: {
loginRedirectURL: 'https://example.com/authenticate',
loginExpirationMinutes: 30,
signupRedirectURL: 'https://example.com/authenticate',
signupExpirationMinutes: 30,
createUserAsPending: true,
},
oauthOptions: {
providers: [{ type: 'google' }, { type: 'microsoft' }, { type: 'apple' }],
loginRedirectURL: 'https://example.com/authenticate',
signupRedirectURL: 'https://example.com/authenticate',
},
},
});
B2C StytchHeadlessClient
Developers that don't use Stytch UI elements can use the StytchHeadlessClient
instead, which is significantly smaller!
import { StytchHeadlessClient } from '@stytch/vanilla-js/headless';
const stytch = new StytchHeadlessClient('public-token-test-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');
stytch.magicLinks.email.loginOrCreate('charles.babbage@example.com');
B2B StytchB2BUIClient
The Stytch UI Client provides methods for interacting with the Stytch API from a browser environment, along with prebuilt UI components such as our login form.
import { StytchB2BUIClient } from '@stytch/vanilla-js/b2b';
const stytch = new StytchB2BUIClient('public-token-test-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');
stytch.magicLinks.email.loginOrSignup({
email_address: 'charles.babbage@example.com',
organization_id: 'organization-test-07971b06-ac8b-4cdb-9c15-63b17e653931',
});
stytch.mountLogin({
elementId: '#magic-link',
config: {
products: ['emailMagicLinks', 'oauth'],
emailMagicLinksOptions: {
loginRedirectURL: 'https://example.com/authenticate',
loginExpirationMinutes: 30,
signupRedirectURL: 'https://example.com/authenticate',
signupExpirationMinutes: 30,
createUserAsPending: true,
},
oauthOptions: {
providers: [{ type: 'google' }, { type: 'microsoft' }],
loginRedirectURL: 'https://example.com/authenticate',
signupRedirectURL: 'https://example.com/authenticate',
},
},
});
B2B StytchB2BHeadlessClient
Developers that don't use Stytch UI elements can use the StytchB2BHeadlessClient
instead, which is significantly smaller!
import { StytchB2BHeadlessClient } from '@stytch/vanilla-js/b2b/headless';
const stytch = new StytchB2BHeadlessClient('public-token-test-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');
stytch.magicLinks.email.loginOrSignup({
email_address: 'charles.babbage@example.com',
organization_id: 'organization-test-07971b06-ac8b-4cdb-9c15-63b17e653931',
});
For more information on how to use the Stytch SDK, please refer to the
docs.
See Also