Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@turnkey/sdk-browser
Advanced tools
A SDK client with browser-specific abstractions for interacting with Turnkey API. Also includes @turnkey/http, a lower-level, fully typed HTTP client.
Turnkey API documentation lives here: https://docs.turnkey.com.
$ npm install @turnkey/sdk-browser
import { Turnkey } from "@turnkey/sdk-browser";
const turnkey = new Turnkey({
apiBaseUrl: "https://api.turnkey.com",
defaultOrganizationId: process.env.TURNKEY_ORGANIZATION_ID,
// Optional: Your relying party ID - for use with Passkey authentication
rpId: process.env.TURNKEY_RP_ID,
});
The Passkey client allows for authentication to Turnkey's API using Passkeys.
const passkeyClient = turnkey.passkeyClient();
// User will be prompted to login with their passkey
await passkeyClient.login();
// Make authenticated requests to Turnkey API, such as listing user's wallets
const walletsResponse = await passkeyClient.getWallets();
The Iframe client can be initialized to interact with Turnkey's hosted iframes for sensitive operations.
The iframeContainer
parameter is required, and should be a reference to the DOM element that will host the iframe.
The iframeUrl
is the URL of the iframe you wish to interact with.
The example below demonstrates how to initialize the Iframe client for use with Email Auth
by passing in https://auth.turnkey.com
as the iframeUrl
.
const iframeClient = await turnkey.iframeClient({
// The container element that will host the iframe
iframeContainer: document.getElementById("<iframe container id>"),
iframeUrl: "https://auth.turnkey.com",
});
const injectedResponse = await iframeClient.injectCredentialBundle(
"<Credential from Email>"
);
if (injectedResponse) {
await iframeClient.getWallets();
}
Flow | URL |
---|---|
Email Auth | auth.turnkey.com |
Email Recovery | recovery.turnkey.com |
Import Wallet | import.turnkey.com |
Export Wallet | export.turnkey.com |
The Wallet client is designed for using your Solana or EVM wallet to stamp and approve activity requests for Turnkey's API. This stamping process leverages the wallet's signature to authenticate requests.
The example below showcases how to use an injected Ethereum wallet to stamp requests to Turnkey's API. The user will be prompted to sign a message containing the activity request payload to be sent to Turnkey.
import {
createWalletClient,
custom,
recoverPublicKey,
hashMessage,
} from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { mainnet } from "viem/chains";
import { WalletStamper, EthereumWallet } from "@turnkey/wallet-stamper";
const walletClient = turnkey.walletClient(new EthereumWallet());
// Make authenticated requests to Turnkey API, such as listing user's wallets
// User will be prompted to sign a message to authenticate the request
const walletsResponse = await walletClient.getWallets();
@turnkey/sdk-browser
provides TurnkeySDKBrowserClient
, which offers wrappers around commonly used Turnkey activities, such as creating new wallets and wallet accounts.
FAQs
Javascript Browser SDK
The npm package @turnkey/sdk-browser receives a total of 17,393 weekly downloads. As such, @turnkey/sdk-browser popularity was classified as popular.
We found that @turnkey/sdk-browser demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.