datamade / how-to

📚 Doing all sorts of things, the DataMade way
MIT License
81 stars 12 forks source link

Added guide on recaptcha implementation #193

Closed smcalilly closed 2 years ago

smcalilly commented 3 years ago

Overview

This is for issue #181.

Notes

This is based on the steps I took to implement this for Parserator.

Testing Instructions

smcalilly commented 3 years ago

@hancush I have not tried the recaptcha plugin. This doc was an artifact from my implementation for Parserator and based on other DataMade reCAPTCHA implementations. If we decide to use the plugin, then most of this guide isn't necessary. Do you want me to try it out?

hancush commented 3 years ago

I would love to have someone try it out, if you are willing to take it on, @smcalilly.

smcalilly commented 3 years ago

@hancush Yeah, I'll do that. I didn't get to it yesterday, but will prioritize for next month's investment time.

smcalilly commented 3 years ago

@hancush Do you have any notes from trying out the recaptcha plugin that I could use here?

hancush commented 3 years ago

@smcalilly It was very easy to implement for a form, and I would definitely recommend it for that purpose: https://github.com/datamade/la-metro-councilmatic/pull/737/files/02b6c9104eff556c15663e9c3d77bf24df35a519

If you need reCAPTCHA outside of a form context, this plug-in may not be as useful.

tl;dr - I, personally, would recommend django-recaptcha for Django forms, and a manual implementation otherwise.

smcalilly commented 3 years ago

@hancush Looking at that code and reading the documentation, it does look better. Seems like we should point to that as the main part of this documentation instead of a manual walk through. What parts of this guide, if any, were useful and I can edit it down?

smcalilly commented 2 years ago

@hancush Tightened things up based on your PR review notes and our 1:1 conversation. Please let me know if you see any weak points in organization, any unnecessary/misleading/confusing information, and where the language can improve.