|
1 | 1 | # Claiming Digital Identities |
| 2 | + |
| 3 | +In Polykey, claiming a digital identity is a critical step that allows users to establish their identity across various platforms and link these identities to their cryptographic keys. This process involves authenticating with external services, such as GitHub, and claiming ownership of an identity by posting a cryptographic link to a publicly verifiable location. |
| 4 | + |
| 5 | +This tutorial will guide you through the steps to authenticate with GitHub and claim an identity using Polykey. This process enhances security and streamlines identity verification, making it easier for other users to discover and trust your nodes. |
| 6 | + |
| 7 | +## Step 1: Authenticate with GitHub |
| 8 | + |
| 9 | +Authentication with a service provider like GitHub is the first step towards claiming your digital identity. It allows Polykey to access necessary information to claim your identity and to interact on your behalf. |
| 10 | + |
| 11 | +### Command Usage |
| 12 | + |
| 13 | +```bash |
| 14 | +polykey identities authenticate <providerId> |
| 15 | +``` |
| 16 | + |
| 17 | +- `<providerId>`: The identifier for the digital identity provider, such as "github". |
| 18 | + |
| 19 | +#### Example |
| 20 | + |
| 21 | +```bash |
| 22 | +polykey identities authenticate github |
| 23 | +``` |
| 24 | + |
| 25 | +This command initiates the authentication process with GitHub. Follow the prompts in your terminal to complete the authentication, which may involve logging into your GitHub account and authorizing Polykey to access your GitHub information. The code prompted by the browser is outputed on your terminal as the user Code. |
| 26 | + |
| 27 | +<!-- paste image from demo --> |
| 28 | + |
| 29 | +<!-- what info do they collect, what is the user authorizing? --> |
| 30 | + |
| 31 | +## Step 2: Claim Your Identity |
| 32 | + |
| 33 | +After successfully authenticating with GitHub, you can claim your identity. This involves posting a cryptographic link to a publicly verifiable location, such as a GitHub gist. This link serves as proof of ownership of the identity. |
| 34 | + |
| 35 | +### Command Usage |
| 36 | + |
| 37 | +```bash |
| 38 | +polykey identities claim <providerIdentityId> |
| 39 | +``` |
| 40 | + |
| 41 | +- `<providerIdentityId>`: The specific identity identifier from the provider you authenticated with, which you will claim. |
| 42 | + |
| 43 | +#### Example |
| 44 | + |
| 45 | +```bash |
| 46 | +polykey identities claim my-github-username |
| 47 | +``` |
| 48 | + |
| 49 | +Replace my-github-username with your actual GitHub username. This command claims your GitHub identity by posting a cryptographic link to a gist under your GitHub profile. |
| 50 | + |
| 51 | +<!-- post image from demo --> |
| 52 | + |
| 53 | +## Step 3: Verify Your Claim |
| 54 | + |
| 55 | +Verification ensures that your identity claim is publicly visible and correctly linked to your Polykey identity. |
| 56 | + |
| 57 | +### Via GitHub |
| 58 | + |
| 59 | +```bash |
| 60 | +gist.github.com/my-github-username |
| 61 | +``` |
| 62 | + |
| 63 | +The gist should contain the cryptographic link that connects your Polykey identity to your GitHub profile. |
| 64 | + |
| 65 | +### Via Polykey |
| 66 | + |
| 67 | +Verify the gestalt graph creation within Polykey: |
| 68 | + |
| 69 | +#### Command Usage |
| 70 | + |
| 71 | +```bash |
| 72 | +polykey identities list |
| 73 | +``` |
| 74 | + |
| 75 | +This lists all gestalts known to your node, including your own. |
| 76 | + |
| 77 | +#### Example Output |
| 78 | + |
| 79 | +```bash |
| 80 | +gestalt |
| 81 | + actionsList |
| 82 | + identities |
| 83 | + github.com:CryptoTotalWar |
| 84 | + nodeIds |
| 85 | + vgijtpv0h8m1eajeir77g73muq88n5kj0413t6fjdqsv9kt8dq4pg |
| 86 | +``` |
| 87 | + |
| 88 | +Seeing your node ID and GitHub username confirms the successful creation of your cryptographic link. |
| 89 | + |
| 90 | +## Understanding Gestalt Graphs |
| 91 | + |
| 92 | +Claiming identities forms a gestalt graph, a network of your federated digital identities. As you claim more identities or nodes, this graph grows, making it easier for others to discover and verify your identity. |
| 93 | + |
| 94 | +It's possible to claim multiple identities. For instance, you can authenticate and claim a GitHub identity for each node you control. |
| 95 | + |
| 96 | +## Conclusion |
| 97 | + |
| 98 | +Claiming your digital identity in Polykey links your cryptographic operations to external accounts like GitHub, securing your operations and facilitating identity verification by others. This guide has detailed the essential steps to authenticate, claim, and verify your identity in Polykey. |
| 99 | + |
| 100 | +In the next section, we will explore additional operations related to digital identity management in Polykey, including trust management and permissions handling. |
0 commit comments