├── .github └── workflows │ └── build.yaml ├── .gitignore ├── .scalafmt.conf ├── .scalastyle ├── LICENSE ├── README.md ├── TODO.txt ├── app ├── com │ └── nappin │ │ └── play │ │ └── recaptcha │ │ ├── NonceActionBuilder.scala │ │ ├── RecaptchaComponents.scala │ │ ├── RecaptchaModule.scala │ │ ├── RecaptchaSettings.scala │ │ ├── RecaptchaVerifier.scala │ │ ├── ResponseParser.scala │ │ └── WidgetHelper.scala └── views │ └── recaptcha │ ├── invisibleButton.scala.html │ ├── recaptchaField.scala.html │ └── recaptchaWidget.scala.html ├── docs ├── high-level-api.md ├── index.md ├── low-level-api.md └── recaptcha-example-v2.png ├── project ├── build.properties └── plugins.sbt ├── scalastyle_config.xml ├── test-conf ├── messages └── messages.fr └── test ├── com └── nappin │ └── play │ └── recaptcha │ ├── NonceActionBuilderSpec.scala │ ├── RecaptchaSettingsSpec.scala │ ├── RecaptchaVerifierSpec.scala │ ├── ResponseParserSpec.scala │ └── WidgetHelperSpec.scala └── views └── recaptcha ├── InvisibleButtonSpec.scala ├── RecaptchaFieldSpec.scala └── RecaptchaWidgetSpec.scala /.github/workflows/build.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/.github/workflows/build.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/.gitignore -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/.scalafmt.conf -------------------------------------------------------------------------------- /.scalastyle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/.scalastyle -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/README.md -------------------------------------------------------------------------------- /TODO.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/TODO.txt -------------------------------------------------------------------------------- /app/com/nappin/play/recaptcha/NonceActionBuilder.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/app/com/nappin/play/recaptcha/NonceActionBuilder.scala -------------------------------------------------------------------------------- /app/com/nappin/play/recaptcha/RecaptchaComponents.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/app/com/nappin/play/recaptcha/RecaptchaComponents.scala -------------------------------------------------------------------------------- /app/com/nappin/play/recaptcha/RecaptchaModule.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/app/com/nappin/play/recaptcha/RecaptchaModule.scala -------------------------------------------------------------------------------- /app/com/nappin/play/recaptcha/RecaptchaSettings.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/app/com/nappin/play/recaptcha/RecaptchaSettings.scala -------------------------------------------------------------------------------- /app/com/nappin/play/recaptcha/RecaptchaVerifier.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/app/com/nappin/play/recaptcha/RecaptchaVerifier.scala -------------------------------------------------------------------------------- /app/com/nappin/play/recaptcha/ResponseParser.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/app/com/nappin/play/recaptcha/ResponseParser.scala -------------------------------------------------------------------------------- /app/com/nappin/play/recaptcha/WidgetHelper.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/app/com/nappin/play/recaptcha/WidgetHelper.scala -------------------------------------------------------------------------------- /app/views/recaptcha/invisibleButton.scala.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/app/views/recaptcha/invisibleButton.scala.html -------------------------------------------------------------------------------- /app/views/recaptcha/recaptchaField.scala.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/app/views/recaptcha/recaptchaField.scala.html -------------------------------------------------------------------------------- /app/views/recaptcha/recaptchaWidget.scala.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/app/views/recaptcha/recaptchaWidget.scala.html -------------------------------------------------------------------------------- /docs/high-level-api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/docs/high-level-api.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/low-level-api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/docs/low-level-api.md -------------------------------------------------------------------------------- /docs/recaptcha-example-v2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/docs/recaptcha-example-v2.png -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.9.9 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /scalastyle_config.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/scalastyle_config.xml -------------------------------------------------------------------------------- /test-conf/messages: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/test-conf/messages -------------------------------------------------------------------------------- /test-conf/messages.fr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/test-conf/messages.fr -------------------------------------------------------------------------------- /test/com/nappin/play/recaptcha/NonceActionBuilderSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/test/com/nappin/play/recaptcha/NonceActionBuilderSpec.scala -------------------------------------------------------------------------------- /test/com/nappin/play/recaptcha/RecaptchaSettingsSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/test/com/nappin/play/recaptcha/RecaptchaSettingsSpec.scala -------------------------------------------------------------------------------- /test/com/nappin/play/recaptcha/RecaptchaVerifierSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/test/com/nappin/play/recaptcha/RecaptchaVerifierSpec.scala -------------------------------------------------------------------------------- /test/com/nappin/play/recaptcha/ResponseParserSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/test/com/nappin/play/recaptcha/ResponseParserSpec.scala -------------------------------------------------------------------------------- /test/com/nappin/play/recaptcha/WidgetHelperSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/test/com/nappin/play/recaptcha/WidgetHelperSpec.scala -------------------------------------------------------------------------------- /test/views/recaptcha/InvisibleButtonSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/test/views/recaptcha/InvisibleButtonSpec.scala -------------------------------------------------------------------------------- /test/views/recaptcha/RecaptchaFieldSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/test/views/recaptcha/RecaptchaFieldSpec.scala -------------------------------------------------------------------------------- /test/views/recaptcha/RecaptchaWidgetSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisnappin/play-recaptcha/HEAD/test/views/recaptcha/RecaptchaWidgetSpec.scala --------------------------------------------------------------------------------