twofactorauth icon indicating copy to clipboard operation
twofactorauth copied to clipboard

A non-github based way to create users

Open stephengroat opened this issue 7 years ago • 26 comments

https://fire.fundersclub.com/

since the only barrier to entry is email, might get more people involved.

only requires read access to the repo

stephengroat avatar Mar 16 '17 16:03 stephengroat

What about spam to that address? If we want to allow people to request sites w/o github account, maybe this would be an easier solution? https://goo.gl/forms/lM08ppxFDHl4MukQ2

mxxcon avatar Mar 16 '17 17:03 mxxcon

centralizing in github issues would probably be easier than checking a separate form system

On Thu, Mar 16, 2017 at 10:36 AM mxxcon [email protected] wrote:

What about spam to that address? If we want to allow people to request sites w/o github account, maybe this would be an easier solution? https://goo.gl/forms/lM08ppxFDHl4MukQ2

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/2factorauth/twofactorauth/issues/2452#issuecomment-287134346, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGv4uhq96lzNPRsMVHPd5PVjghdasUGks5rmXMIgaJpZM4MfjRJ .

stephengroat avatar Mar 16 '17 17:03 stephengroat

Perhaps https://gist.github.com/bmcbride/62600e48274961819084 would work?

mxxcon avatar Mar 16 '17 17:03 mxxcon

sure, but then it's hooked up to someone's google account and subject to a different type of spam

stephengroat avatar Mar 16 '17 18:03 stephengroat

Google form, like any google doc can have multiple owners. I have never seen spam coming from google forms 🤔

mxxcon avatar Mar 16 '17 18:03 mxxcon

I think the most important part of our current issue system is the ability to contact the issue creator directly and have a public, open conversation about the issue. I'm hesitant to switch to a Google Form, as that reduces this level of communication.

jamcat22 avatar Mar 16 '17 19:03 jamcat22

There's an optional email address field in the form

mxxcon avatar Mar 16 '17 19:03 mxxcon

Yes but that would require the team that possesses the form information (likely @2factorauth/collaborators) to go email back and forth with the user. With our current GitHub method, anyone can ask the issue creator a question or engage in conversation.

jamcat22 avatar Mar 16 '17 19:03 jamcat22

I definitely agree with @jamcat22 that having open communication with the issue creator and other collaborators is really helpful to keep the quality of data review high. However, I do think that getting more people involved is critical and many non-technical people who might otherwise contribute are likely put off by GitHub being way too difficult for them to figure out.

Has there ever been a discussion about creating a custom web app to allow people to fill out a web form? It could apply lots of validation logic, resize images, etc, etc. In order to preserve the GitHub communication benefits, we could require people to authenticate using GitHub OAuth before entering data. Then, the web app could automatically open a PR for them where the existing review process could kick off and remain unchanged.

The main homepage could remain a static site.

  • Downsides
    • time to develop
    • cost to run (though, AWS free tier is pretty generous and I bet we could get comped as an open source project)
  • Benefits
    • lower barrier to contribute to the project
    • automating as much of the validation logic as possible would likely result in higher quality data with less of a time commitment from core members

Thoughts?

conorgil avatar Apr 21 '18 02:04 conorgil

At the very least we just need a url and the rest can be figured out from there. I don't know how much communication we would need to have...unless it's a non-English language site.

Requiring a github account is already a barrier to entry. If they have that it's not much different from somebody just opening a github issue.

mxxcon avatar Apr 21 '18 02:04 mxxcon

If we just require a URL and not all of the other data, then that puts a lot of admin overhead on the core members or other contributors to explore the URL, find the data, find an image, create a PR, etc. That all takes time and is really annoying. Based on the number of open issues and PRs in the repo right now, I don't think that would be a very scalable approach.

My thought with the custom site approach is that anyone can create a GitHub account and then the site can do a lot of validation up front and can also do all of the PR work "magically" for them. That way, even non-technical people can contribute since anyone can fill in a web form, but most people cannot use git.

conorgil avatar Apr 21 '18 02:04 conorgil

@conorgil Have you looked at my form I posted above?

mxxcon avatar Apr 21 '18 02:04 mxxcon

I like @conorgil’s suggestion however I don’t think we have anyone here who have the spare time to create such a site. 🤔

Carlgo11 avatar Apr 21 '18 03:04 Carlgo11

@mxxcon yea, I saw it. I walked all the way through it with some fake data, but didn't submit because I don't know where the data goes and don't want to send you noise. I will try submitting if you give me the ok.

The Google form is great and certainly better than GitHub for non-technical users to contribute! I strongly support publicizing it on the website somehow right now since it is a step in the right direction and would provide much cleaner data than some of the issues that are currently opened.

A few thoughts/questions:

  1. using a Google form does not address the communication issue that @jamcat22 raised, which I also think is really important. We won't know who submitted the request, so if we have questions, want them to make changes, etc it will not be possible to contact them. Sure, the core members could make changes, but that adds a lot of admin overhead. You can require people to sign in before filling out the form, so that might be a solution to get their email address, but since the current review process is all in github, that would still make communication difficult.
  2. The form clearly asks people to check if the service exists before submitting it, but I can easily see people not actually doing that. A custom site could obv enforce that, but perhaps it is a pre-optimization until dupes actually become a problem.
  3. After the data is submitted, does it actually get formatted and submitted as a PR to this repo?
  4. Does the form validate that the URLs resolve?
  5. Does Google Forms allow any custom logic to require HTTPS links instead of HTTP?
  6. Is there any way to automate the process of pulling down images, resizing them, etc?

I'm sure I'll come up with more questions later, but those are the ones that pop into my head.

@Carlgo11 I might be able to dedicate some time to work on a custom site like that. I'll play around over the next few weeks and report back here if/when I have something worth sharing.

conorgil avatar Apr 21 '18 03:04 conorgil

Timestamp Site Name Site Address Does it support Two-Factor Authentication? Category that applies to this site Link to a site's logo Type of supported Two-Factor Authentication methods Link to a page where authentication methods are described/documented: Twitter handle Facebook address Any notes you would like to add for us? Email address
4/20/2018 22:48:59 Test https://www.test.com Yes Banking http://test.com Software token http://soemthing.com

mxxcon avatar Apr 21 '18 03:04 mxxcon

@mxxcon hah, well... I guess I sent you noise by accident. Sorry about that, but thanks for sharing! Looks like it goes into a Google Sheet, right?

My main hesitation with adopting it right now is that I think it will increase the admin overhead for the core members by relying on them to make small tweaks to the data if it isn't perfect. I've seen lots of similar comments asking for changes on the outstanding PRs, etc.

conorgil avatar Apr 21 '18 03:04 conorgil

This provides the most friction-less way for people to submit data. It requires minimum viable info. If submitter wants to provide some extra details, they can and will provide it in the form. If not, they are not going to do it in PR/Issue either. Google sheets supports custom scripts which can be used to validate/manipulate data, maybe even automatically create PRs if data is complete.

mxxcon avatar Apr 21 '18 03:04 mxxcon

@mxxcon I totally understand what you are saying in terms of the Google Form being low friction and only requiring the absolute minimum of information. I think you and I just have differing view points on how much data we want the contributors to provide vs core members needing to clean/supplement/etc. Perhaps, I am assuming the worst without actually having looked at enough PRs to have a real sense of how messy the data is.

I support putting the form on the site and promoting it as the primary contribution method for a while to see how it works. If it ends up being better than GitHub, then great! If not, then we can always take it down and try something else. No harm in trying it out!

I did not know that Google Forms allowed custom scripts for validation, etc. Can you point me to resources where I can read up on that? My quick google search failed to find relevant docs.

conorgil avatar Apr 21 '18 03:04 conorgil

It's not Form but Google Sheets which supports scripts.

mxxcon avatar Apr 21 '18 03:04 mxxcon

Oh ok. I don't think that will work for data validation because the form will already have been submitted, right?

I found the following resources, which I will read later when I have some time:

  • https://developers.google.com/apps-script/guides/sheets
  • https://zapier.com/learn/google-sheets/google-apps-script-tutorial/

conorgil avatar Apr 21 '18 03:04 conorgil

Hey, sorry to bump a somewhat dormant post - I'll have a bit of time over the weekend and am happy to either provide a form with custom validation, etc as a proof of concept. I do like the idea of making submissions easier than it is now, though!

jimsug avatar May 30 '18 14:05 jimsug

@jimsug Don't apologize for offering your time to help move things forward! That is awesome :)

I am not a core committer, but I would love to see what you come up with.

conorgil avatar May 30 '18 21:05 conorgil

Seems like #3163 already shows something that works, though?

jimsug avatar May 31 '18 14:05 jimsug

Ideally this should be able to auto create a GH issue so that we can track it in here not in another system which should be easily enough done

kilasuit avatar Jun 13 '18 13:06 kilasuit

Which looking at the example in #3163 shows this very easily working - would be happy to work on this weekend and get something up and running

kilasuit avatar Jun 13 '18 13:06 kilasuit

One requirement for whatever option is chosen here is that we need to be able to ask questions to the author and the author needs to be able to make changes to the PR.

Carlgo11 avatar Jun 14 '18 02:06 Carlgo11

DigitalOcean, configured to be a static site, is free. I am sure they would help out with an open source project as well. Is this still something that is wanted? I could pop something up this week if this is still something that is wanted?

johntheholman avatar Feb 01 '23 09:02 johntheholman