Compare commits
4 Commits
0825ca85a7
...
d162ce8ed6
Author | SHA1 | Date | |
---|---|---|---|
|
d162ce8ed6 | ||
|
ade208263e | ||
|
91355f8903 | ||
|
8a0742d9a8 |
@ -1,9 +1,15 @@
|
||||
'use strict';
|
||||
|
||||
var base = module.superModule;
|
||||
var server = require('server');
|
||||
|
||||
server.extend(base);
|
||||
|
||||
// First, let's extend the ContactUs-Landing route
|
||||
// to add recaptcha data to the template view
|
||||
server.append('Landing', function(req, res, next) {
|
||||
res.setViewData({
|
||||
// Recaptcha API script URL
|
||||
recaptchaUrl: 'https://www.google.com/recaptcha/api.js',
|
||||
siteKey: '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI' // Test Site Key from Google
|
||||
});
|
||||
@ -11,21 +17,26 @@ server.append('Landing', function(req, res, next) {
|
||||
next();
|
||||
});
|
||||
|
||||
server.append('Subscribe', function(req, res, next) {
|
||||
// Now we need to extend ContactUs-Subscribe, to add our logic
|
||||
// that invokes the recaptcha service
|
||||
// We prepend here to ensure that an invalid response is caught before the email is sent
|
||||
server.prepend('Subscribe', function(req, res, next) {
|
||||
var recaptchaService = require('*/cartridge/scripts/services/recaptcha');
|
||||
// Token automatically added to request by recaptcha
|
||||
var token = req.form['g-recaptcha-response'];
|
||||
|
||||
// Add required parameters for validation call
|
||||
var params = {
|
||||
// This is a test secret from Google
|
||||
// In practice, do not hardcode this. It's better to store
|
||||
// In a custom preference or service credential Configuration
|
||||
secret: '6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe', // Test secret key from Google
|
||||
// In practice, do not hardcode this.
|
||||
// It's better to store in a custom preference or service credential configuration
|
||||
secret: '6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe',
|
||||
response: token
|
||||
};
|
||||
|
||||
// Calls recaptcha service
|
||||
// Returns a Service class instance
|
||||
// (start with a hardcoded fail)
|
||||
var validationResult = recaptchaService.call(params);
|
||||
|
||||
// Actual response from Google
|
Loading…
Reference in New Issue
Block a user