There are a few configuration options that can given to the
createInstance
method:
const sharetribeSdk = require('sharetribe-flex-sdk');
var sdk = sharetribeSdk.createInstance({
// An API application client ID (mandatory)
clientId: "08ec69f6-d37e-414d-83eb-324e94afddf0",
// An API application client secret. Only to be used in a server
// environment and not to be exposed to a client/browser.
clientSecret: "8af2bf99c380b3a303ab90ae4012c8cd8f69d309",
// Token store
//
// Token store instance to use. Token store is where the SDK
// saves the session information.
//
// Built-in token stores:
//
// - sharetribeSdk.tokenStore.browserCookieStore
// - sharetribeSdk.tokenStore.expressCookieStore
// - sharetribeSdk.tokenStore.memoryStore
//
// Default: sharetribeSdk.tokenStore.browserCookieStore()
//
tokenStore: sharetribeSdk.tokenStore.browserCookieStore(),
// List of custom type handlers
typeHandlers: [
{
sdkType: UUID,
// "type" was renamed to "sdkType" on v1.4.0
appType: MyUuidType,
// "customType" was renamed to "appType" on v1.4.0
// Writer fn type signature must be:
// appType -> sdkType
//
// E.g.
// MyUuidType -> UUID
writer: v => new UUID(v.myUuid),
// Reader fn type signature must be:
// sdkType -> appType
//
// E.g.
// UUID -> MyUuidType
reader: v => new MyUuidType(v.uuid),
}
],
// Node.js only.
// HTTP and HTTPS agents to be used when performing
// http and https request. This allows defining non-default
// options for agent, such as `{ keepAlive: true }`.
//
httpAgent: httpAgent,
httpsAgent: httpsAgent,
// If true and default browser token store is used,
// the cookie is never transferred without HTTPS connection.
// Default: false
secure: false,
// SDK uses Transit format to communicate with the API.
// If this configuration is `true` a verbose Transit mode is enabled.
// Useful for development.
// Default: false
transitVerbose: false,
// API base URL (optional)
// Defaults to Sharetribe production (https://flex-api.sharetribe.com)
// Change this if you want to point the SDK to somewhere else (like localhost).
// Useful mainly for Sharetribe's internal development
baseUrl: "https://api-base-url.example.sharetribe.com/",
// Asset CDN base URL (optional)
// Defaults to Sharetribe production (https://cdn.st-api.com)
// Change this if you want to point the SDK to somewhere else (like localhost).
// Useful mainly for Sharetribe's internal development
assetCdnBaseUrl: "https://asset-cdn-base-url.example.sharetribe.com/",
// Allow use of Client Secret in browser (optional, defaults to false)
//
// Privileged Marketplace API calls that use Client Secret are meant to be done
// from a secure context, e.g. from a private Node.js server. Using Client Secret
// in an open website exposes the it to the public.
//
// By default, the SDK will display a warning if Client Secret is used in browser
// but if you know what you are doing, and you have secured the website properly so
// that Client Secret is not leaked, you can suppress the warning by setting this
// to `true`.
dangerouslyAllowClientSecretInBrowser: false,
// Disables deprecation warnings.
//
// Deprecation warnings are printed with `console.warn` if `console.warn`
// is available. Setting this value to `true` will suppress those warnings.
disableDeprecationWarnings: false
});