Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: rm mention of 'sessionPrincipal' from agent and agent-data #546

Merged

Conversation

gobengo
Copy link
Contributor

@gobengo gobengo commented Mar 15, 2023

@gobengo gobengo marked this pull request as ready for review March 15, 2023 19:56
@gobengo gobengo requested a review from travis March 15, 2023 19:56
@gobengo gobengo changed the title rm mention of 'sessionPrincipal' from agent and agent-data fix: rm mention of 'sessionPrincipal' from agent and agent-data Mar 15, 2023
@gobengo gobengo requested a review from Gozala March 15, 2023 19:57
* @param {string} email
* @returns {`did:mailto:${string}:${string}`}
*/
export function createDidMailtoFromEmail(email) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you please export this from the package so I can use it in w3ui?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pushed to our feature branch as 0cc4e47

@gobengo gobengo merged commit e5e9a43 into feat/implement-access-authorize-in-agent Mar 15, 2023
@gobengo gobengo deleted the 433-rm-sessionPrincipal branch March 15, 2023 20:07
travis added a commit that referenced this pull request Mar 17, 2023
With this PR we're able to use two different devices on behalf of a
single account identified by an email address.

An agent (ie, a device like w3console or w3cli) can now:

1) use `access/authorize` to trigger an email verification flow that
will give them delegations to act on behalf of an account
2) create a space locally
3) add a storage provider to that space with `provider/add`
4) delegate capabilities to the account they are authorized as that
permit the account to delegate all capabilities on those spaces to other
agents - in other words, create spaces and assign all "permissions" on
those spaces to their account
5) upload data to the space

A second agent (ie, another device) can then:
1) use `access/authorize` to trigger an email verification flow that
will give them delegations to act on behalf of the same account
2) get a list of spaces they can store data in, which includes the space
created on the first device
3) upload data to the space

This PR also contains various refactoring of the `Agent` class to
minimize its responsibilities and move in the direction of letting user
agents take responsibility for state storage.

refs #395

* [x] setup tests for access-client agent + access-api
* [x] simple test agent createSpace
* [x] @gobengo test agent authorize happy path
#535
* [x] @gobengo upgrade to ucanto 6.2
#541
* [x] @travis ensure what's proposed here can work in w3up-client, w3ui,
w3console
* [x] upgrade this branch to `@ucanto/[email protected]` after
storacha/ucanto#261
* [x] minimize new public api surface area on access-client Agent
* [x] (e.g. `sessionProof`)
https://github.com/web3-storage/w3protocol/pull/545/files
* [x] `sessionPrincipal`
#546
* [x] review comments
* [x] `authorize` should access/claim `with=did:mailto:...`
https://github.com/web3-storage/w3protocol/pull/556/files#

---------

Co-authored-by: Travis Vachon <[email protected]>
Co-authored-by: Benjamin Goering <[email protected]>
Co-authored-by: Irakli Gozalishvili <[email protected]>
gobengo added a commit that referenced this pull request Apr 11, 2023
With this PR we're able to use two different devices on behalf of a
single account identified by an email address.

An agent (ie, a device like w3console or w3cli) can now:

1) use `access/authorize` to trigger an email verification flow that
will give them delegations to act on behalf of an account
2) create a space locally
3) add a storage provider to that space with `provider/add`
4) delegate capabilities to the account they are authorized as that
permit the account to delegate all capabilities on those spaces to other
agents - in other words, create spaces and assign all "permissions" on
those spaces to their account
5) upload data to the space

A second agent (ie, another device) can then:
1) use `access/authorize` to trigger an email verification flow that
will give them delegations to act on behalf of the same account
2) get a list of spaces they can store data in, which includes the space
created on the first device
3) upload data to the space

This PR also contains various refactoring of the `Agent` class to
minimize its responsibilities and move in the direction of letting user
agents take responsibility for state storage.

refs #395

* [x] setup tests for access-client agent + access-api
* [x] simple test agent createSpace
* [x] @gobengo test agent authorize happy path
#535
* [x] @gobengo upgrade to ucanto 6.2
#541
* [x] @travis ensure what's proposed here can work in w3up-client, w3ui,
w3console
* [x] upgrade this branch to `@ucanto/[email protected]` after
storacha/ucanto#261
* [x] minimize new public api surface area on access-client Agent
* [x] (e.g. `sessionProof`)
https://github.com/web3-storage/w3protocol/pull/545/files
* [x] `sessionPrincipal`
#546
* [x] review comments
* [x] `authorize` should access/claim `with=did:mailto:...`
https://github.com/web3-storage/w3protocol/pull/556/files#

---------

Co-authored-by: Travis Vachon <[email protected]>
Co-authored-by: Benjamin Goering <[email protected]>
Co-authored-by: Irakli Gozalishvili <[email protected]>
Peeja pushed a commit to storacha/upload-service that referenced this pull request Jan 17, 2025
Peeja pushed a commit to storacha/upload-service that referenced this pull request Jan 17, 2025
🤖 I have created a release *beep* *boop*
---


##
[2.0.1](storacha/w3ui@w3console-v2.0.0...w3console-v2.0.1)
(2023-09-01)


### Bug Fixes

* beta ToS ([storacha#546](storacha/w3ui#546))
([671d601](storacha/w3ui@671d601))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Peeja pushed a commit to storacha/upload-service that referenced this pull request Jan 29, 2025
Peeja pushed a commit to storacha/upload-service that referenced this pull request Jan 29, 2025
🤖 I have created a release *beep* *boop*
---


##
[2.0.1](storacha/w3ui@w3console-v2.0.0...w3console-v2.0.1)
(2023-09-01)


### Bug Fixes

* beta ToS ([storacha#546](storacha/w3ui#546))
([35cabc8](storacha/w3ui@35cabc8))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants