Metadata-Version: 2.1
Name: Flask-hCaptcha
Version: 0.6.0
Summary: A hCaptcha extension for Flask based on flask-recaptcha
Home-page: https://github.com/KnugiHK/flask-hcaptcha/
Author: Knugi (originally ReCaptcha by Mardix)
Author-email: info@knugi.xyz
License: MIT
Keywords: flask,hcaptcha,validate,captcha
Platform: any
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/markdown
License-File: LICENSE

# Flask-hCaptcha
[![Latest version released on PyPi](https://img.shields.io/pypi/v/Flask-hCaptcha.svg?style=flat&label=latest%20version)](https://pypi.org/project/Flask-hCaptcha/)
[![Python package](https://github.com/KnugiHK/flask-hcaptcha/workflows/Python%20package/badge.svg)](https://github.com/KnugiHK/flask-hcaptcha/actions)

A hCaptcha extension for Flask based on flask-recaptcha.


This repo is part of [self-host video streaming project](https://github.com/users/KnugiHK/projects/3).

---

## Install

    pip install flask-hcaptcha

# Usage

### Implementation view.py

    from flask import Flask
    from flask_hcaptcha import hCaptcha

    app = Flask(__name__)
    hcaptcha = hCaptcha(app)
    
    #or 
    
    hcaptcha = hCaptcha()
    hcaptcha.init_app(app)
    

### In your template: **{{ hcaptcha }}**

Inside of the form you want to protect, include the tag: **{{ hcaptcha }}**

It will insert the code automatically


    <form method="post" action="/submit">
        ... your field
        ... your field

        {{ hcaptcha }}

        [submit button]
    </form>


### Verify the captcha

In the view that's going to validate the captcha

    from flask import Flask
    from flask_hcaptcha import hCaptcha

    app = Flask(__name__)
    hcaptcha = hCaptcha(app)

    @route("/submit", methods=["POST"])
    def submit():

        if hcaptcha.verify():
            # SUCCESS
            pass
        else:
            # FAILED
            pass


## API

**hCaptcha.__init__(app, site_key, secret_key, is_enabled=True)**

**hCaptcha.get_code()**

Returns the HTML code to implement. But you can use
**{{ hcaptcha }}** directly in your template

**hCaptcha.verify()**

Returns bool

## In Template

Just include **{{ hcaptcha }}** wherever you want to show the hcaptcha


## Config

Flask-hCaptcha is configured through the standard Flask config API.
These are the available options:

**HCAPTCHA_ENABLED**: Bool - True by default, when False it will bypass validation

**HCAPTCHA_SITE_KEY** : Public key

**HCAPTCHA_SECRET_KEY**: Private key

    HCAPTCHA_ENABLED = True
    HCAPTCHA_SITE_KEY = ""
    HCAPTCHA_SECRET_KEY = ""

## Todo
1. Support [Invisible Captcha](https://docs.hcaptcha.com/invisible)
2. Support the use of [Language Codes](https://docs.hcaptcha.com/languages)

---

(c) 2021 Knugi (originally ReCaptcha by Mardix 2015)



