Skip to content

openwallet-foundation-labs/identity-common-ts

Identity Common - TypeScript

TypeScript Apache 2.0 License

Overview  |  Packages  |  Getting Started  |  Supported Environments  |  Contributing  |  License


Overview

To avoid reinventing the wheel, many identity projects share common needs for data types and utility functions. Identity Common TypeScript provides a shared library of TypeScript types and utilities for identity-related projects, promoting consistency and reducing duplication across the ecosystem.

Goals

  • 🪶 Lightweight: Minimal dependencies to keep bundle sizes small
  • 🌐 Platform Agnostic: Works in Node.js, browsers, and React Native
  • 🔄 Reusable: Common utilities shared across identity solutions
  • 🤝 Interoperable: Ensures compatibility between different identity projects

Project Categories

The project is organized into two main categories:

Core Identity Utilities

Generic, reusable utilities that can be used across any identity solution:

Package Description Status
@owf/identity-common Base package with common types and utilities 🚧 In Development
@owf/jose JOSE/JWT implementation with common validation methods 📋 Planned
@owf/cose COSE/CWT implementation with common validation methods 📋 Planned
@owf/x509 X.509 certificate parsing, creation, and verification 📋 Planned
@owf/token-status-list JWT/CWT Token Status List implementation 📋 Planned

EUDI-Specific Tools

Tools specific to the European Digital Identity (EUDI) Wallet ecosystem:

Package Description Status
@owf/eudi-lote ETSI TS 119 602 Lists of Trusted Entities (LoTE) 📋 Planned
@owf/eudi-certificates Registration and access certificate verification 📋 Planned
@owf/eudi-payment ARF TS 12 Electronic Payment SCA extensions 📋 Planned

Note: While the EUDI Wallet is built on open standards (OpenID4VC, SD-JWT VC), it requires specific extensions for Trust, Payments, and document signing that are better suited in dedicated packages.


Packages

@owf/identity-common

@owf/identity-common version

The base package providing common types and utilities for identity applications.

npm install @owf/identity-common
import { } from '@owf/identity-common'

📖 View package documentation


Getting Started

Installation

Install the packages you need:

# Using npm
npm install @owf/identity-common

# Using pnpm
pnpm add @owf/identity-common

# Using yarn
yarn add @owf/identity-common

Development Setup

To contribute or develop locally:

# Clone the repository
git clone https://github.com/openwallet-foundation-labs/identity-common-ts.git
cd identity-common-ts

# Install dependencies (requires pnpm)
pnpm install

# Build all packages
pnpm build

# Run tests
pnpm test

Supported Environments

This library is platform agnostic and supports:

  • Node.js (>=20)
  • Browsers (modern browsers with ES2020 support)
  • React Native

Requirements

Your environment must provide:

  • URL and URLSearchParams implementations
  • A global fetch implementation (or provide it via callbacks)

Platform-Agnostic Design

Because these libraries are platform agnostic, cryptographic operations and other platform-specific functionality must be provided via callbacks:

import { someFunction } from '@owf/identity-common'

// Provide platform-specific implementations
const result = await someFunction({
  crypto: {
    sha256: async (data) => { /* your implementation */ },
    randomBytes: (length) => { /* your implementation */ },
  },
  fetch: globalThis.fetch, // if not globally available
})

Related Projects

This library is designed to work with and support other OpenWallet Foundation projects:


Contributing

We welcome contributions! Whether you're:

  • 🐛 Reporting bugs
  • 💡 Suggesting features
  • 📝 Improving documentation
  • 🔧 Submitting code changes

Please read our Contributing Guide to get started.

Adding a New Package

Want to add a new package to the monorepo? Check out our guide for adding packages.


License

This project is licensed under the Apache License Version 2.0 (Apache-2.0).

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •