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

Users view and consent to a legal agreement. Consent stored in backend. #665

Open
ReidWilliams opened this issue Nov 26, 2019 · 2 comments
Assignees
Labels
legal-consent master User facing feature that needs to be broken into tickets
Milestone

Comments

@ReidWilliams
Copy link
Contributor

ReidWilliams commented Nov 26, 2019

This is going to require storing something in the back end, that the user agreed to the consent.

This would be

  • the user's public ethereum address
  • boolean capturing "I am a US user"
  • string capturing the version of the agreement they agreed to.
@ReidWilliams ReidWilliams added the master User facing feature that needs to be broken into tickets label Nov 26, 2019
@ReidWilliams ReidWilliams added this to the Public BETA milestone Nov 26, 2019
@ReidWilliams ReidWilliams self-assigned this Nov 26, 2019
@ReidWilliams
Copy link
Contributor Author

Flow and presentational changes to be made by me, then create tickets for wiring up to back end.

@ReidWilliams
Copy link
Contributor Author

There's a UX challenge we need to work out. We need the user's public address before they agree (since that's the equivalent of their username).

That means users will need to authorize metamask to connect to our app before hitting a terms of service page. I think we'll also want them to sign the message to datatrust and get a web token first, since that's the only way we know for sure that their public address is really theirs.

That means the flow needs to be:

  • Users authorize MM to connect to the app
  • Users sign the message to datatrust to authenticate to datatrust
  • (first time using the app) Users agree to terms of service

Let's call this flow the "login".

Right now it appears we're only requiring users to connect to metamask when they visit certain routes. This doesn't work when we insert a terms of service into the flow.

We need to do one of two things:

  1. Users can view whatever they want, but are required to login if they click certain buttons that start actions that require them to be logged in. This is what most apps do, but it's complicated.
  2. Gate access to the entire app with a login.

No. 1 is more ideal, but likely requires significant work, so may not fit in the public beta milestone. Let's do no. 2 first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
legal-consent master User facing feature that needs to be broken into tickets
Projects
None yet
Development

No branches or pull requests

2 participants