|
1 |
| -Title: Sign-In with Solana Session Signatures |
| 1 | +Title: Sign-In with Solana Authentication |
2 | 2 |
|
3 | 3 | User -> App: Clicks `Sign In` button
|
4 | 4 | App -> User: Generates a Sign-in with Solana (SIWS) message
|
5 | 5 | User -> App: User signs and submits signed SIWS message
|
6 |
| -App -> Lit Blockchain: Mints a Lit Capacity Credit |
7 |
| -App -> Lit Network: Generates Capacity Credit Delegation Auth Sig |
8 |
| -App -> Lit Blockchain: Mints a PKP with Permitted Auth Methods |
9 |
| -note App, Lit Network: |
10 |
| -Two Auth Methods are permitted: |
11 |
| - |
12 |
| -1. The Lit Action IPFS CID is permitted to sign anything using the minted PKP |
13 |
| -2. A custom Auth Method derived from the User's Solana public key |
14 |
| - |
15 |
| -The second Auth Method is not permitted to sign anything using the PKP. We're permitting it as an Auth Method to associate the User's Solana public key as authorized to sign using the PKP |
16 |
| -App -> Lit Network: Submits a request to execute the SIWS Session Sigs Lit Action |
| 6 | +App -> Lit Network: Submits a request to execute the SIWS Lit Action |
17 | 7 | Lit Network -> Lit Nodes: Requests each Lit Node to run the Lit Action
|
18 | 8 | Lit Nodes -> Lit Nodes: Uses the raw SIWS message values to build the SIWS message according to the spec
|
19 | 9 | Lit Nodes -> Lit Nodes: Validates the SIWS message values according to App specific logic
|
20 | 10 | Lit Nodes -> Lit Nodes: Dervies a Solana public key using the built SIWS message and the User's signature
|
21 |
| -Lit Nodes -> Lit Blockchain: Submits a request to check if the derived Solana public key is a permitted Auth Method for the PKP |
22 |
| -Lit Blockchain -> Lit Nodes: Returns `true` that the Solana public key is permitted to use the PKP |
23 |
| -Lit Nodes -> Lit Network: Returns `true` to signal generation of Session Sigs using the PKP |
24 |
| -Lit Network -> Lit Nodes: Collects signature shares to form the Session Signatures |
25 |
| -Lit Network -> App: Returns Session Signatures |
| 11 | +Lit Nodes -> Lit Network: Returns the authenticated Solana public key |
| 12 | +Lit Network -> App: Returns the authenticated Solana public key |
| 13 | +App -> App: Permits user access based on Lit Action response |
0 commit comments