From 43bd512228adc8ff9799322324a36842b91147bd Mon Sep 17 00:00:00 2001 From: Andrew Min Date: Thu, 21 Nov 2024 08:21:03 +0900 Subject: [PATCH 1/3] WIP: sessions --- docs/documentation/features/sessions.md | 116 +++++++++++++++++++++++- static/img/read_write_sessions.png | Bin 0 -> 149321 bytes 2 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 static/img/read_write_sessions.png diff --git a/docs/documentation/features/sessions.md b/docs/documentation/features/sessions.md index e9b7abed..53b3d241 100644 --- a/docs/documentation/features/sessions.md +++ b/docs/documentation/features/sessions.md @@ -6,6 +6,118 @@ slug: /features/sessions # Sessions -Turnkey session keys are a flavor of API keys, with one key distinction: they expire. The expiration can be specified using the `expirationSeconds` parameter within a `CREATE_API_KEYS` request (or any other request which includes the creation of an API key). Expiring API keys, or session keys, are an effective way for an application to authenticate requests on behalf of a user for a specific duration. +## What is a session? -Session keys can be used to create a **user session**, in which a user is able to perform multiple actions in succession (e.g. signing a series of transactions). This is the basis of [Email Auth](/features/email-auth), a Turnkey primitive through which a user can utilize their email to be granted a session of custom duration. See the [integration guide](/embedded-wallets/sub-organization-auth) for how to get started with Email Auth. +Generally, a session allows a user to take multiple, contiguous actions in a defined period of time. Such actions can be divided into two buckets: + +- Read operations: Retrieving data (e.g., viewing wallet balances) +- Write operations: Modifying data or performing sensitive actions (e.g., signing transactions) + +## How can I create a session? + +### Read-only sessions + +In terms of end-user experience, a read-only session might make sense in low-touch applications where users are primarily reading data (think viewing wallets and their balances). As for implementation, there are a few ways a developer can achieve read-only access on behalf of a user. Note: an end-user (sub-organization) falls hierarchically under the developer (parent-organization). + +#### Parent organization access + +By default, a parent organization has read access to all of its sub-organizations’ data. This means you can set up a federated model where the client makes requests to a backend (containing the parent organization’s API key credentials), the backend populates the requested data, and returns it back to the client. From an implementation perspective, each read request (i.e. `get` or `list`) requires an `organizationId` parameter. Populate that field with the sub-organization’s ID in order to get its data. + +#### Client side access + +Separately, if you would like the client to have all read requests encapsulated (instead of reading data via a proxy like in the previous approach), the client can initiate a read-only session via a [CreateReadOnlySession activity](https://docs.turnkey.com/api#tag/Sessions/operation/CreateReadOnlySession). This activity returns a session string that, if passed into an HTTP request via `X-Session` header, gives permission to perform reads. Note that because this is an activity performed by an end-user, it requires authentication (e.g. via passkey). + +If you’d like to do this via our SDK abstractions, you can leverage the [login](https://github.com/tkhq/sdk/blob/6b3ea14d1184c5394449ecaad2b0f445e373823f/packages/sdk-browser/src/sdk-client.ts#L231-L255)1 method, which creates a `CreateReadOnlySession` activity under the hood. It stores the resulting session string in [Local Storage](https://github.com/tkhq/sdk/blob/6b3ea14d1184c5394449ecaad2b0f445e373823f/packages/sdk-browser/src/sdk-client.ts#L242-L252)2, and subsequent requests to fetch data from Turnkey injects the session stored here at [call time](https://github.com/tkhq/sdk/blob/6b3ea14d1184c5394449ecaad2b0f445e373823f/packages/sdk-browser/src/__generated__/sdk-client-base.ts#L45-L47)3 within `@turnkey/sdk-browser`. + +### Read-write sessions + +In contrast to read-only sessions, a read-write session makes sense when a user would like to make several write requests in a window of time without having to manually authenticate each one via passkey. There are a few ways to achieve this: + +#### Creating a read-write session + +Developers can leverage the [CreateReadWriteSession](https://docs.turnkey.com/api#tag/Sessions/operation/CreateReadWriteSession) activity, which requires a target embedded key and returns a credential bundle. This is a pattern that many core, secure flows follow, including Email Recovery, Email Auth, and OTP Auth. See [documentation](https://docs.turnkey.com/features/email-auth#mechanism-and-cryptographic-details) for more details. + +

+ +

+ +As illustrated above, once you have a target embedded key in place on the client side, you can call `CreateReadWriteSession`, get the resulting credential bundle, and decrypt it on the client side using the “TEK”. Upon decryption, the result is a usable Turnkey API key that can be used to make both read and write requests. + +Our SDK contains an abstraction called [loginWithReadWriteSession](https://github.com/tkhq/sdk/blob/6b3ea14d1184c5394449ecaad2b0f445e373823f/packages/sdk-browser/src/sdk-client.ts#L257-L284). Crucially, it is able to infer the organization (or sub-organization) based on a stamp, and create a read-write session on behalf of that organization. From an end-user experience perspective, this means that a developer can request an end-user’s passkey approval once, and subsequently give that user a read-write session. + +Crucially, `loginWithReadWriteSession` stores the resulting credential bundle (returned by Turnkey) in Local Storage. We store this credential bundle in Local Storage as it can be used across various React components and pages – as long as both the target embedded key and credential bundle exist, they can be used as a credential to create Turnkey requests. + +### Mechanisms + +Your next question might be: where can I get the target embedded key? There are two primary mechanisms we offer that provide such embedded keys: + +#### iframes: + +Turnkey hosts an iframe for use cases such as this one at https://auth.turnkey.com (see [here](https://github.com/tkhq/frames/tree/main/auth) for code implementation). It’s to be used in conjunction with our [@turnkey/iframe-stamper](https://docs.turnkey.com/sdks/advanced/iframe-stamper), but note that some complexity can be abstracted away if using @turnkey/sdk-react. See this [code example](https://docs.turnkey.com/embedded-wallets/code-examples/create-passkey-session) for more. + +The iframe is responsible for holding the “TEK” mentioned in the previous diagram. In addition to housing the TEK, it exposes some methods to be able to interact with (but not extract!) the TEK. The end result is that the iframe can safely and securely sign requests to Turnkey. If you would like to take a look at lower level implementation details, see [here](https://github.com/tkhq/sdk/blob/main/packages/iframe-stamper/src/index.ts). + +There are a few considerations to note when using sessions with iframes: +- Sessions only last as long as the iframe is maintained on the browser +- On desktop, this generally is as long as the user doesn’t completely quit the browser +- On mobile, specifically iOS devices, this behavior is much more finicky as iOS is aggressive in clearing out data contained within iframes +- In either case, sessions are indeed shared across different browser tabs and windows +- May be more difficult to set up to use in conjunction with React Native or other frameworks + +#### Local Storage: +Another potential host for a TEK is directly in Local Storage. We’ve created libraries to create a target embedded key (P-256 implementation [here](https://github.com/tkhq/sdk/blob/6b3ea14d1184c5394449ecaad2b0f445e373823f/packages/crypto/src/crypto.ts#L268-L284)). Mechanically, it operates much like the iframe. However, unlike the iframe approach, anyone with access to your application’s domain also has direct access to items stored in Local Storage. + +Here are some considerations for using Local Storage: +Generally more durable than using iframes in various contexts (i.e. web on both desktop and mobile) +Can be used in other settings such as React Native, Flutter, etc. +As mentioned, the developer has complete control over the target embedded key. As a result, it’s important to manage this credential with caution. + +For an example that leverages Local Storage with Email Auth, see [here](https://github.com/tkhq/sdk/tree/main/examples/email-auth-local-storage). + + + +### Sessions FAQ + +#### How can I refresh a session? + +Once a user has a valid session, it is trivial to use that session to create a new session. It is possible to reuse the same loginWithReadWriteSession abstraction, as this will create a brand new session and automatically store the resulting credential bundle in local storage. + +#### How can I delete a session? + +In order to delete a session, simply remove all user-related artifacts from Local Storage. See implementation in context here. + +```javascript +/** + * Clears out all data pertaining to a user session. + * + * @returns {Promise} + */ +logoutUser = async (): Promise => { + await removeStorageValue(StorageKeys.AuthBundle); // DEPRECATED + await removeStorageValue(StorageKeys.CurrentUser); + await removeStorageValue(StorageKeys.ReadWriteSession); + + return true; +}; +``` + +#### How long are sessions? + +The expiration of session keys can be specified to any amount of time using the expirationSeconds parameter. The default length is 900 seconds (15 minutes). + +#### How many session keys can be active at once? + +A user can have up to 10 expiring API keys at any given time. If you create an expiring API key that exceeds that limit, Turnkey automatically deletes one of your existing keys using the following priority: +- Expired API keys are deleted first +- If no expired keys exist, the oldest unexpired key is deleted + +If you are looking to invalidate existing sessions, you can use the `invalidateExisting` parameter for Email Auth and OTP Auth activities. This will clear all existing session keys. + +#### Can I use the same sessions implementation for web and mobile? + +This is not recommended, because: +- iOS Safari handles iframes differently. Specifically, it very aggressively evicts data stored within the iframe's local storage. +- React Native doesn’t support iframes natively at all +- Mobile browsers have different storage behaviors generally + +Instead, implement platform-specific session management using local storage for mobile. diff --git a/static/img/read_write_sessions.png b/static/img/read_write_sessions.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc24fa02c4b4b1bf76de4487a8f55788ea54ea1 GIT binary patch literal 149321 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

L_Yw3!c+i@W1%=&%FQrr*Ha&=J2h@+isUq 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
2>bqKsgYFB)gMilEQ|NjGni{p;;6!6>n7Vp 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 Y Date: Tue, 3 Dec 2024 12:59:59 -0500 Subject: [PATCH 2/3] feedback and improvements --- docs/documentation/features/sessions.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/documentation/features/sessions.md b/docs/documentation/features/sessions.md index 53b3d241..382009bf 100644 --- a/docs/documentation/features/sessions.md +++ b/docs/documentation/features/sessions.md @@ -8,7 +8,7 @@ slug: /features/sessions ## What is a session? -Generally, a session allows a user to take multiple, contiguous actions in a defined period of time. Such actions can be divided into two buckets: +Turnkey sessions allow a user to take multiple, contiguous actions in a defined period of time. Such actions can be divided into two buckets: - Read operations: Retrieving data (e.g., viewing wallet balances) - Write operations: Modifying data or performing sensitive actions (e.g., signing transactions) @@ -45,7 +45,7 @@ As illustrated above, once you have a target embedded key in place on the client Our SDK contains an abstraction called [loginWithReadWriteSession](https://github.com/tkhq/sdk/blob/6b3ea14d1184c5394449ecaad2b0f445e373823f/packages/sdk-browser/src/sdk-client.ts#L257-L284). Crucially, it is able to infer the organization (or sub-organization) based on a stamp, and create a read-write session on behalf of that organization. From an end-user experience perspective, this means that a developer can request an end-user’s passkey approval once, and subsequently give that user a read-write session. -Crucially, `loginWithReadWriteSession` stores the resulting credential bundle (returned by Turnkey) in Local Storage. We store this credential bundle in Local Storage as it can be used across various React components and pages – as long as both the target embedded key and credential bundle exist, they can be used as a credential to create Turnkey requests. +Note that `loginWithReadWriteSession` stores the resulting credential bundle (returned by Turnkey) in Local Storage. We store this credential bundle in Local Storage as it can be used across various React components and pages – as long as both the target embedded key and credential bundle exist, they can be used as a credential to create Turnkey requests. For details on the shape of this stored artifact, see [here](https://github.com/tkhq/sdk/blob/9e9943387123d077fa3b7f38ef3be007291a2c8a/packages/sdk-browser/src/storage.ts#L64-L117). ### Mechanisms @@ -74,6 +74,10 @@ As mentioned, the developer has complete control over the target embedded key. A For an example that leverages Local Storage with Email Auth, see [here](https://github.com/tkhq/sdk/tree/main/examples/email-auth-local-storage). +#### API Key: + +Another option is to create an API key and store it directly within Local Storage. However, this is a riskier setup than via TEK (as mentioned in the above Local Storage section), as anyone who is able to access this client-side API key has full access to a User. + ### Sessions FAQ @@ -84,7 +88,7 @@ Once a user has a valid session, it is trivial to use that session to create a n #### How can I delete a session? -In order to delete a session, simply remove all user-related artifacts from Local Storage. See implementation in context here. +In order to delete a session, simply remove all user-related artifacts from Local Storage. See implementation in context [here](https://github.com/tkhq/sdk/blob/9e9943387123d077fa3b7f38ef3be007291a2c8a/packages/sdk-browser/src/sdk-client.ts#L242-L255). ```javascript /** @@ -95,6 +99,7 @@ In order to delete a session, simply remove all user-related artifacts from Loca logoutUser = async (): Promise => { await removeStorageValue(StorageKeys.AuthBundle); // DEPRECATED await removeStorageValue(StorageKeys.CurrentUser); + await removeStorageValue(StorageKeys.UserSession); await removeStorageValue(StorageKeys.ReadWriteSession); return true; @@ -103,7 +108,7 @@ logoutUser = async (): Promise => { #### How long are sessions? -The expiration of session keys can be specified to any amount of time using the expirationSeconds parameter. The default length is 900 seconds (15 minutes). +The expiration of session keys can be specified to any amount of time using the `expirationSeconds` parameter. The default length is 900 seconds (15 minutes). #### How many session keys can be active at once? @@ -120,4 +125,4 @@ This is not recommended, because: - React Native doesn’t support iframes natively at all - Mobile browsers have different storage behaviors generally -Instead, implement platform-specific session management using local storage for mobile. +Instead, implement platform-specific session management using Local Storage for mobile. From 293d06455c90c77fe468c14b57b32917b08b35b3 Mon Sep 17 00:00:00 2001 From: Andrew Min Date: Tue, 3 Dec 2024 13:03:44 -0500 Subject: [PATCH 3/3] misc typo --- .../documentation/concepts/policy-management/Policy-language.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/concepts/policy-management/Policy-language.md b/docs/documentation/concepts/policy-management/Policy-language.md index e597539f..f73b11ea 100644 --- a/docs/documentation/concepts/policy-management/Policy-language.md +++ b/docs/documentation/concepts/policy-management/Policy-language.md @@ -178,7 +178,7 @@ See the [Policy examples](./Policy-examples.md) for sample scenarios. Similarly, our Solana policy language (accessible via `solana.tx`) allows for control over signing Solana transactions. Note that there are some fundamental differences between the architecture of the two types of transactions, hence the resulting differences in policy structure. Notably, within our policy engine, a Solana transaction contains a list of Transfers, currently corresponding to native SOL transfers. Each transfer within a transaction is considered a separate entity. Here are some approaches you might take to govern native SOL transfers: -- _All_ transfers need to match the policy condition Useful for allowlists ([example](./Policy-examples.md#allow-solana-transactions-that-include-a-transfer-with-only-one-specific-recipient)) +- _All_ transfers need to match the policy condition. Useful for allowlists ([example](./Policy-examples.md#allow-solana-transactions-that-include-a-transfer-with-only-one-specific-recipient)) - _Just one_ transfer needs to match the policy condition. Useful for blocklists ([example](./Policy-examples.md#deny-all-solana-transactions-transferring-to-an-undesired-address)) - Only match if there is a _single_ transfer in the transaction, _and_ that transfer meets the criteria ([example](./Policy-examples.md#allow-solana-transactions-that-have-exactly-one-transfer-with-one-specific-recipient)). This is the most secure approach, and thus most restrictive.