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

invocations that require user interactions #22

Open
Gozala opened this issue Dec 6, 2022 · 0 comments
Open

invocations that require user interactions #22

Gozala opened this issue Dec 6, 2022 · 0 comments

Comments

@Gozala
Copy link
Collaborator

Gozala commented Dec 6, 2022

As I was updating account & space protocol specs I realized that there are at least few cases where it would make a lot of sense if handler could request user interaction.

For example in access/authorize flow we have an email based user interaction, where client is presumable waiting that user clicks an email.

sequenceDiagram
  participant Agent as 👩‍💻<br/><br/>did:key:zAgent
  participant W3 as 🌐<br/><br/>did:web:web3.storage #32;
  participant Email as 📬<br/><br/>[email protected]

  Agent ->> W3: access/authorize
  Note right of Agent:🎟<br/>with: did:key:zAgent<br/>as: did:mailto:[email protected]
  W3 ->> Email: ✉️ Verification email
  Email ->> W3: 🔗 Approve
  W3 -->> Agent: ./update
    Note right of Agent:🎫<br/>with: did:web:web3.storage<br/>key: did:key:zAgent
Loading

In this specific case application can anticipate user interaction and can communicate with a user ahead of time. However in some other cases e.g. in provider/add service MAY want to require user to accept terms of service or enter credit card info if card is only not on file.

It appears to me that instead of trying to go around user interaction flow, we might be better of embracing it in our design, which in turn could simplify some of our protocols. For example instead of denying request from did:mailto:[email protected] (without ./update proof) we could respond with user interaction which could take

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

No branches or pull requests

1 participant