LogoLogo
ProductsCommunityGitHubShare Feedback
IDP Kit
IDP Kit
  • What is the IDP Kit?
    • Introduction
    • IDP Kit
      • IDP Kit | Basics
        • Overview
        • Functionality
      • Architecture
  • Getting started
    • Quick Start
    • CLI | Command Line Interface
    • REST APIs
    • Dependency (JVM)
    • Public deployments
    • Build
      • Docker
  • Demos
    • Try Login With NFT
  • Tutorials
    • Login with NFTs | Next.js
      • IDP Kit Setup
      • Client Registration
      • NFT Collection Configuration
      • Next.js
    • Login with NFTs | Keycloak
      • IDP Kit Setup
      • Client Registration
      • NFT Collection Configuration
      • Keycloak (18.0.2)
      • Keycloak (>19.0.1)
      • Frontend - Next.js
    • Login with SSI | Next.js
      • IDP Kit Setup
      • Client Registration
      • Verifiable Credential Config
      • Next.js
  • Configuration and Setup
    • IDP Kit configuration and setup
    • OIDC Manager configuration
      • Keys and signatures
      • Client registration
      • Client authentication
      • Claim configuration
    • SIOP Manager configuration
    • NFT Manager configuration
  • Concepts
    • OIDC Authentication - Recap
    • Identity provision via SSI
    • Identity provision via NFTs
      • EVM | Identity Provision
        • Sign in With Ethereum (SIWE)
      • Tezos | Identity provision via NFTs
        • Sign-In with Tezos (SIWT)
      • Near | Identity provision via NFTs
        • Sign-in with Near Protocol (SIWN)
      • Polkadot | Identity provision via NFTs
        • Sign-in with Polkadot (SIWP)
      • Flow | Identity provision via NFTs
        • Sign-in with Flow (SIWF)
      • Algorand | Identity provision via NFTs
        • Sign-in with Algorand (SIWA)
    • IAM / KeyCloak integration
  • Community
    • Discord
    • Twitter
    • Newsletter
    • GitHub Discussions
  • DEVELOPER RELATIONS
    • Contribute
    • Roadmap
    • Share Feedback
    • Contact
  • Product Editions
    • Open Source | Always Free
    • Enterprise
    • Cloud Platform
Powered by GitBook
On this page
  • Data root
  • Command line interface - CLI
  • Submodule configuration
  • Binding address and port
  • Command arguments
  • NFT Kit JS
  • API Keys for NFT verification

Was this helpful?

Export as PDF
  1. Configuration and Setup

IDP Kit configuration and setup

PreviousNext.jsNextOIDC Manager configuration

Last updated 1 month ago

Was this helpful?

To setup the IDP Kit a few things may need to be considered and some configuration may be required, depending on your situation.

Data root

Configuration and data are kept in sub folders of the data root (by default the current working directory):

  • config/

  • data/

To override the data root, one can set the environment variable:

WALTID_DATA_ROOT

Command line interface - CLI

In the following sections you will find examples using the command line interface.

Refer to for basic instructions of using the command line interface.

Submodule configuration

The IDP Kit consists of multiple submodules, which need to be configured according to your requirements:

    • Provides standard OIDC API endpoints, for communication with client applications

    • Provides presentation exchange and verification with SSI wallets via the OIDC/SIOP protocol

    • Provides communication with NFT wallets and verification of NFT collections and traits

Binding address and port

By default, the IDP Kit exposes its API endpoints bound to localhost on port 8080.

To override the default bindings, set the following environment variables:

WALTID_WALLET_BACKEND_BIND_ADDRESS

WALTID_WALLET_BACKEND_PORT

Note: these variables are inherited from Wallet Kit, which is why they have the term WALLET in it.

Command arguments

To set binding address and port, you can also use the command arguments of the run command like so:

To set the bind address to "192.168.0.1" and the port to 8081:

waltid-idpkit run -b "192.168.0.1" -p 8081

To bind to all interfaces (on the default port):

waltid-idpkit run --bind-all

NFT Kit JS

The IDP Kit needs to communicate with the NFT Kit JS to process the NFT authorization request. You need to run an NFT Kit JS instance and specify which URL is accessible.

"jsProjectExternalUrl":"http://localhost:4000",

API Keys for NFT verification

The underlying NFT Kit needs a configuration file to be able to verify NFTs for the IDP Kit. Therefore, you need to create a walt.yaml file in the root folder of the IDP Kit.

Only two values must be updated. One of the providers, depending on the network, where the NFT collection is lying and alchemy under the apiKeys section. The privateKey just holds a placeholder value and can stay as it is.

hikariDataSource:
  jdbcUrl: jdbc:sqlite:data/walt.db
  maximumPoolSize: 5
  autoCommit: false
  dataSource:
    journalMode: WAL
    fullColumnNames: false

azureKeyVaultConfig:
  baseURL:
  id:
  secret:

providers:
  ethereum: "ethereum"
  goerli: "goerli"
  polygon: "polygon"
  mumbai: "mumbai"

privateKey: "bd4cb3e507f342ee3a710370cef39dda48f17b0a158b0b8dddf000fbd5b2c2d9"


apiKeys:
  ethereumBlockExplorer: ""
  polygonBlockExplorer: ""
  alchemy: "alchemy_api_key"
  nftstorage: ""

Examples:

  • https://rinkeby.infura.io/v3/0184192d0fd9423b52322d79eca162b2

  • https://polygon-mumbai.g.alchemy.com/v2/yjbYhlaH3U_vfnTiRQ3miGQS0cKwQMGh

providers: a list of URLs to RPC node provider for every network. You can get them either from or .

alchemy:an API key from .

CLI | Command line interface
OIDC Manager
SIOP Manager
NFT Manager
Infura
Alchemy
Alchemy