Skip to content

MOmarMiraj/onepassword-sdk-js

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1Password JavaScript SDK (beta)

❗ The 1Password SDK project is in beta. Future iterations may bring backwards-incompatible changes.

Documentation | Examples


Supported functionality

1Password SDKs are in active development. We're keen to hear what you'd like to see next. Let us know by upvoting or filing an issue.

Item management

Operations:

Field types:

  • API Keys
  • Passwords
  • Concealed fields
  • Text fields
  • Notes
  • SSH private keys (partially supported: supported in resolving secret references, not yet supported in item create/get/update)
  • SSH public keys, fingerprint and key type
  • One-time passwords \
  • Files attachments and Document items
  • URLs
  • Credit card number & type
  • Phone numbers

Vault management

  • Retrieve vaults
  • Create vaults (#50)
  • Update vaults
  • Delete vaults
  • List vaults

User & access management

  • Provision users
  • Retrieve users
  • List users
  • Suspend users
  • Create groups
  • Update group membership
  • Update vault access & permissions

Compliance & reporting

Authentication

🚀 Get started

To use the 1Password JavaScript SDK in your project:

  1. Create a service account and give it the appropriate permissions in the vaults where the items you want to use with the SDK are saved.

  2. Provision your service account token. We recommend provisioning your token from the environment. For example, to export your token to the OP_SERVICE_ACCOUNT_TOKEN environment variable:

    macOS or Linux

    export OP_SERVICE_ACCOUNT_TOKEN=<your-service-account-token>

    Windows

    $Env:OP_SERVICE_ACCOUNT_TOKEN = "<your-service-account-token>"
  3. Install the 1Password JavaScript SDK in your project:

    ## NPM
    npm install @1password/sdk@beta
    ## PNPM
    pnpm add @1password/sdk@beta
    ## Yarn
    yarn add @1password/sdk@beta
  4. Use the JavaScript SDK in your project:

import { createClient } from "@1password/sdk";

// Creates an authenticated client.
const client = await createClient({
  auth: process.env.OP_SERVICE_ACCOUNT_TOKEN,
  // Set the following to your own integration name and version.
  integrationName: "My 1Password Integration",
  integrationVersion: "v1.0.0",
});

// Fetches a secret.
const secret = await client.secrets.resolve("op://vault/item/field");

Make sure to use secret reference URIs with the syntax op://vault/item/field to securely load secrets from 1Password into your code.

Inside createClient(), set integrationName to the name of your application and integrationVersion to the version of your application.

📖 Learn more

About

The official JavaScript SDK for 1Password

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 49.2%
  • TypeScript 32.2%
  • Shell 18.6%