You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -1293,8 +1292,8 @@ export class LitNodeClientNodeJs
1293
1292
// -- optional params
1294
1293
...(params.authMethods&&
1295
1294
params.authMethods.length>0&&{
1296
-
authMethods: params.authMethods,
1297
-
}),
1295
+
authMethods: params.authMethods,
1296
+
}),
1298
1297
};
1299
1298
1300
1299
logWithRequestId(requestId,'reqBody:',reqBody);
@@ -2066,23 +2065,30 @@ export class LitNodeClientNodeJs
2066
2065
};
2067
2066
2068
2067
/**
2069
-
* Get session signatures for a set of [Lit resources](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.ILitResource.html#resource).
2070
-
*
2071
-
* How this function works on a high level:
2072
-
* 1. Generate or retrieve [session keys](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.SessionKeyPair.html) (a public and private key pair)
2073
-
* 2. Generate or retrieve the [`AuthSig`](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.AuthSig.html) that specifies the session [abilities](https://v6-api-doc-lit-js-sdk.vercel.app/enums/auth_helpers_src.LitAbility.html)
2074
-
* 3. Sign the specific resources with the session key
2075
-
*
2076
-
*
2077
-
* Note: When generating session signatures for different PKPs or auth methods,
2078
-
* be sure to call disconnectWeb3 to clear auth signatures stored in local storage
2079
-
*
2080
-
*
2081
-
* @param { GetSessionSigsProps } params
2082
-
*
2083
-
* An example of how this function is used can be found in the Lit developer-guides-code repository [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs).
2084
-
*
2085
-
*/
2068
+
*
2069
+
* Retrieves or generates sessionSigs (think access token) for accessing Lit Network resources.
2070
+
*
2071
+
* How this function works on a high level:
2072
+
* 1. Generate or retrieve [session keys](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.SessionKeyPair.html) (a public and private key pair)
2073
+
* 2. Generate or retrieve the [`AuthSig`](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.AuthSig.html) that specifies the session [abilities](https://v6-api-doc-lit-js-sdk.vercel.app/enums/auth_helpers_src.LitAbility.html)
2074
+
* 3. Sign the specific resources with the session key
2075
+
*
2076
+
* The process follows these steps:
2077
+
* 1. Retrieves or generates a session key pair (Ed25519) for the user's device. The session key is either fetched from local storage or newly created if not found. The key does not expire.
2078
+
* 2. Generates an authentication signature (`authSig`) by signing an ERC-5573 “Sign-in with Ethereum” message, which includes resource ability requests, capabilities, expiration, the user's device session public key, and a nonce. The `authSig` is retrieved from local storage, and if it has expired, the user will be prompted to re-sign.
2079
+
* 3. Uses the session private key to sign the session public key along with the resource ability requests, capabilities, issuedAt, and expiration details. This creates a device-generated signature.
2080
+
* 4. Constructs the session signatures (`sessionSigs`) by including the device-generated signature and the original message. The `sessionSigs` provide access to Lit Network features such as `executeJs` and `pkpSign`.
2081
+
*
2082
+
* See Sequence Diagram: https://www.plantuml.com/plantuml/uml/VPH1RnCn48Nl_XLFlT1Av00eGkm15QKLWY8K9K9SO-rEar4sjcLFalBl6NjJAuaMRl5utfjlPjQvJsAZx7UziQtuY5-9eWaQufQ3TOAR77cJy407Rka6zlNdHTRouUbIzSEtjiTIBUswg5v_NwMnuAVlA9KKFPN3I0x9qSSj7bqNF3iPykl9c4o9oUSJMuElv2XQ8IHAYRt3bluWM8wuVUpUJwVlFjsP8JUh5B_1DyV2AYdD6DjhLsTQTaYd3W3ad28SGWqM997fG5ZrB9DJqOaALuRwH1TMpik8tIYze-E8OrPKU5I6cMqtem2kCqOhr4vdaRAvtSjcoMkTo68scKu_Vi1EPMfrP_xVtj7sFMaHNg-6GVqk0MW0z18uKdVULTvDWtdqko28b7KktvUB2hKOBd1asU2QgDfTzrj7T4bLPdv6TR0zLwPQKkkZpIRTY4CTMbrBpg_VKuXyi49beUAHqIlirOUrL2zq9JPPdpRR5OMLVQGoGlLcjyRyQNv6MHz4W_fG42W--xWhUfNyOxiLL1USS6lRLeyAkYLNjrkVJuClm_qp5I8Lq0krUw7lwIt2DgY9oiozrjA_Yhy0
2083
+
*
2084
+
* Note: When generating session signatures for different PKPs or auth methods,
2085
+
* be sure to call disconnectWeb3 to clear auth signatures stored in local storage
2086
+
*
2087
+
* @param { GetSessionSigsProps } params
2088
+
*
2089
+
* An example of how this function is used can be found in the Lit developer-guides-code repository [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs).
2090
+
*
2091
+
*/
2086
2092
getSessionSigs=async(
2087
2093
params: GetSessionSigsProps
2088
2094
): Promise<SessionSigsMap>=>{
@@ -2096,8 +2102,8 @@ export class LitNodeClientNodeJs
0 commit comments