Class: TurnkeyIframeClient

Defined in: sdk-browser/src/__clients__/browser-clients.ts:862

TurnkeyIframeClient is a client that uses an iframe to interact with the Turnkey API. It is used to create read-write sessions, and to inject credential bundles into the iframe. It is also used to extract encrypted credential bundles from the iframe.

Extends

Constructors

Constructor

new TurnkeyIframeClient(config): TurnkeyIframeClient

Defined in: sdk-browser/src/__clients__/browser-clients.ts:865

Parameters

config

TurnkeySDKClientConfig

Returns

TurnkeyIframeClient

Overrides

TurnkeyBrowserClient.constructor

Properties

authClient?

optional authClient: AuthClient

Defined in: sdk-browser/src/__clients__/base-client.ts:5

Inherited from

TurnkeyBrowserClient.authClient


iframePublicKey

iframePublicKey: null | string

Defined in: sdk-browser/src/__clients__/browser-clients.ts:863

Methods

addUserAuth()

addUserAuth(params): Promise<any[]>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:541

Adds or updates authentication factors for an end user.

This function allows selectively adding:

  • Phone number
  • Email
  • Authenticators
  • OAuth providers
  • API keys

All additions/updates are executed in parallel if multiple parameters are provided.

Parameters

params

AddUserAuthParams

A structured object containing all the addition/update parameters

Returns

Promise<any[]>

A promise that resolves to an array of results from each addition or update

Inherited from

TurnkeyBrowserClient.addUserAuth


clearEmbeddedKey()

clearEmbeddedKey(): Promise<null>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:924

Returns

Promise<null>


deleteUserAuth()

deleteUserAuth(params): Promise<any[]>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:477

Removes authentication factors from an end user.

This function allows selectively removing:

  • Phone number
  • Email
  • Authenticators (by ID)
  • OAuth providers (by ID)
  • API keys (by ID)

All removal operations are executed in parallel if multiple parameters are provided.

Parameters

params

DeleteUserAuthParams

A structured object containing all the removal parameters

Returns

Promise<any[]>

A promise that resolves to an array of results from each removal operation

Inherited from

TurnkeyBrowserClient.deleteUserAuth


extractKeyEncryptedBundle()

extractKeyEncryptedBundle(): Promise<string>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:916

Returns

Promise<string>


extractWalletEncryptedBundle()

extractWalletEncryptedBundle(): Promise<string>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:912

Returns

Promise<string>


getEmbeddedPublicKey()

getEmbeddedPublicKey(): Promise<null | string>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:920

Returns

Promise<null | string>


initEmbeddedKey()

initEmbeddedKey(): Promise<null | string>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:928

Returns

Promise<null | string>


injectCredentialBundle()

injectCredentialBundle(credentialBundle): Promise<boolean>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:870

Parameters

credentialBundle

string

Returns

Promise<boolean>


injectImportBundle()

injectImportBundle(bundle, organizationId, userId): Promise<boolean>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:900

Parameters

bundle

string

organizationId

string

userId

string

Returns

Promise<boolean>


injectKeyExportBundle()

injectKeyExportBundle(credentialBundle, organizationId, keyFormat?): Promise<boolean>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:888

Parameters

credentialBundle

string

organizationId

string

keyFormat?

KeyFormat

Returns

Promise<boolean>


injectWalletExportBundle()

injectWalletExportBundle(credentialBundle, organizationId): Promise<boolean>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:878

Parameters

credentialBundle

string

organizationId

string

Returns

Promise<boolean>


login()

login(config?): Promise<object & object>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:110

Parameters

config?
organizationId?

string

Returns

Promise<object & object>

Inherited from

TurnkeyBrowserClient.login


loginWithAuthBundle()

loginWithAuthBundle(credentialBundle, expirationSeconds): Promise<boolean>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:433

Logs in with an existing auth bundle. this bundle enables both read and write requests.

Parameters

credentialBundle

string

expirationSeconds

string = DEFAULT_SESSION_EXPIRATION_IN_SECONDS

Returns

Promise<boolean>

Inherited from

TurnkeyBrowserClient.loginWithAuthBundle


loginWithBundle()

loginWithBundle(params): Promise<void>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:206

Log in with a bundle. This method uses a bundle sent to the end user email To be used in conjunction with an iframeStamper.

Parameters

params

LoginWithBundleParams

Returns

Promise<void>

Inherited from

TurnkeyBrowserClient.loginWithBundle


loginWithPasskey()

loginWithPasskey(params): Promise<void>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:262

Log in with a passkey. To be used in conjunction with a passkeyStamper

Parameters

params

LoginWithPasskeyParams

Returns

Promise<void>

Inherited from

TurnkeyBrowserClient.loginWithPasskey


loginWithReadWriteSession()

loginWithReadWriteSession(targetEmbeddedKey, expirationSeconds, userId?): Promise<object & object>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:396

Creates a read-write session. This method infers the current user’s organization ID and target userId. To be used in conjunction with an iframeStamper: the resulting session’s credential bundle can be injected into an iframeStamper to create a session that enables both read and write requests.

Parameters

targetEmbeddedKey

string

expirationSeconds

string = DEFAULT_SESSION_EXPIRATION_IN_SECONDS

userId?

string

Returns

Promise<object & object>

Inherited from

TurnkeyBrowserClient.loginWithReadWriteSession


loginWithSession()

loginWithSession(session): Promise<void>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:239

Log in with a session object. This method uses a session object from server actions and stores it and the active client in local storage To be used in conjunction with an iframeStamper.

Parameters

session

Session

Returns

Promise<void>

Inherited from

TurnkeyBrowserClient.loginWithSession


loginWithWallet()

loginWithWallet(params): Promise<void>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:329

Log in with a browser wallet.

Parameters

params

LoginWithWalletParams

Returns

Promise<void>

Inherited from

TurnkeyBrowserClient.loginWithWallet


refreshSession()

refreshSession(params): Promise<void>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:138

Attempts to refresh an existing Session. This method infers the current user’s organization ID and target userId. This will use a passkeyStamper for READ_ONLY sessions or an iframeStamper for READ_WRITE sessions.

Parameters

params

RefreshSessionParams

Returns

Promise<void>

Inherited from

TurnkeyBrowserClient.refreshSession


updateUserAuth()

updateUserAuth(params): Promise<boolean>

Defined in: sdk-browser/src/__clients__/browser-clients.ts:605

Comprehensive authentication update for an end user. Combines add/update and delete operations into a single call.

The behavior is driven by whether values are set to:

  • A string/array (to create or update)
  • null or an array of IDs (to remove)

All operations are executed in parallel where applicable.

Parameters

params

UpdateUserAuthParams

A structured object containing all the update parameters

Returns

Promise<boolean>

A promise that resolves to a boolean indicating overall success

Inherited from

TurnkeyBrowserClient.updateUserAuth