Skip to content

dfinity/wg-identity-authentication

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Identity and Wallet Standards

Mission Statement

This group works towards the development and adoption of ICRC standards related to identity and wallets on the Internet Computer. This repository is used to collaborate, document decisions, discuss changes, raise issues and provide feedback.

Process

The following process is followed for standards within this working group.

If you have a good idea or a need for a standard, feel free join a meeting or bring it up on the forum or Discord.

Keep in mind it should be related to Identity and/or Wallets built on the IC to be picked up. In case you have other ideas, still feel free to reach out, we'll try to help you find the right working group.

These ideas are then translated into the draft standards by their original contributor and/or with help of members within this working group. Draft standards enable developers to create early reference implementations.

Approved standards are actively being implemented by developers and candidates for an official ICRC standard once adoption has reached an adequate level.

Status Description
IDEA Ongoing idea in meetings, on the forum or Discord
ISSUE Topic is under discussion in either issue or PR
DRAFT Draft of the final standard, subject to change
APPROVED Approved standard within the working group
STANDARD Official NNS approved ICRC Standard
ON HOLD Waiting to be picked up again once prioritized
UNKNOWN Hasn't progressed and/or had updates for a while
ABANDONED Abandoned and is no longer actively pursued
SUPERSEDED Another standard has replaced this standard

Standards

Before jumping into the standards, it's recommended to read the overview here.

JSON-RPC Messages

Standards that describe interactions between relying parties and signers through JSON-RPC messages.

Standard Status
ICRC-25: Signer Interaction APPROVED
ICRC-27: Accounts APPROVED
ICRC-34: Delegation APPROVED
ICRC-49: Call Canister APPROVED
ICRC-95: Derivation Origin APPROVED
ICRC-#: Batch Call Canister ISSUE

Transport Channel

Standards that describe how the communication channel between a relying party and signer is established.

Standard Status
ICRC-29: Browser Post Message Transport APPROVED
ICRC-94: Browser Extension Discovery and Transport DRAFT
ICRC-#: Browser URL Transport IDEA
ICRC-#: Wallet Connect Transport IDEA
ICRC-#: Browser Web Signer Discovery IDEA

Canister Calls

Standards that describe canister call interfaces used by signers.

Standard Status
ICRC-21: Canister Call Consent Messages APPROVED
ICRC-28: Trusted Origins APPROVED
ICRC-#: Dapp Metadata Registry ISSUE

Other

Standards that are currently not actively being pursued, abandoned or superseded.

Standard Status Note
ICRC-32: Sign Challenge ON HOLD De-prioritized to focus on IC use cases first
ICRC-#: DID Registry ON HOLD Feel like picking this up? Contact the working group
ICRC-#: CAIP-2 Blockhain ID ON HOLD Overlaps with work in NFT, Ledger & Tokenization working groups on ICRC-91 and ICRC-22
ICRC-#: CAIP-10 Account Address ON HOLD Overlaps with work in NFT, Ledger & Tokenization working groups on ICRC-91 and ICRC-22
ICRC-35: Browser-Based Interoperability Framework UNKNOWN Hasn't received updates for a while
ICRC-31: Get Principals SUPERSEDED See ICRC-27: Accounts
ICRC-57: Get Session Delegation SUPERSEDED See ICRC-34: Delegation

Meetings

Meetings happen every two weeks. All meeting schedule announcements and summaries with links to recordings can be found in this forum thread.

All meeting recordings can be found in this Google Drive folder. See the working group calendar for the next meeting date and the dates of other working groups.

Besides above forum thread, we also have a discord channel for the working group.

Contributing

Everyone is welcome to join the public meetings of the working group.

Additionally, you can also join the discussion on the forum or Discord.

  • If you want to discuss a specific topic for the next meeting, bring up the topic on the forum or Discord. Additionally consider already creating an issue or pull-request.
  • If you own a cool project related to Identity and/or Wallets built on the IC you are welcome to do a presentation in one of the meetings, please bring it up on the forum or Discord.

Working Group Members

The working group sessions are public and everybody is welcome. If you are interested in discussions about identity and authentication on the IC, please join us.

Permanent Members

Supported Signers

The following list of signers have implemented or are implementing the standards in this working group:

Wallets and identity providers not listed here, might still be supported through adapters available in libraries and frameworks that implement the standards.

Have you implemented the standards and your wallet isn't listed here? Contact us on the forum or Discord.

Libraries and Frameworks

For a library that implements the above signer standards see signer-js.

If you are looking to get started quickly, consider a framework like IdentityKit that already implements the user interface, error handling, sessions and other details around wallets interaction.