美文网首页
Vue 集成 Google Invisible reCAPTCH

Vue 集成 Google Invisible reCAPTCH

作者: 马克_唐卡 | 来源:发表于2020-05-12 15:53 被阅读0次

    [Vue 官方demo 展示] https://vuejsexamples.com/a-simple-invisible-google-recaptcha-component-with-vue/ (https://vuejsexamples.com/a-simple-invisible-google-recaptcha-component-with-vue/
    )

    1. 安装依赖
    npm i vue-programmatic-invisible-google-recaptcha
    
    1. 在跟目录 main.js 新增:
    import VueProgrammaticInvisibleGoogleRecaptcha from 'vue-programmatic-invisible-google-recaptcha'
    Vue.component('vue-programmatic-invisible-google-recaptcha', VueProgrammaticInvisibleGoogleRecaptcha)
    
    1. 在 public 目录中的 index.html 中加入全球资源链接:
    <script src="https://www.recaptcha.net/recaptcha/api.js?render=explicit" async defer></script>
    
    1. 在需要使用的 .vue 文件中添加控件:
        <vue-programmatic-invisible-google-recaptcha
                ref="invisibleRecaptcha1"
                :sitekey="'6LfbDvYUAAAAAI62Lxxxxx5Bg1_Tu-xxxxxxx'"
                :elementId="'invisibleRecaptcha1'"
                :badgePosition="'left'"
                :showBadgeMobile="false"
                :showBadgeDesktop="true"
                @recaptcha-callback="recaptchaCallback"
        ></vue-programmatic-invisible-google-recaptcha>
    

    注意:这里的回调属性名字,可能与官方教程不一样 recaptcha-callback

    1. 触发请求token:(添加到需要触发的地方)
    this.$refs.invisibleRecaptcha1.execute()
    
    1. 获取 token 并进行下一步操作:(这个是回调)
    recaptchaCallback (recaptchaToken) {
            console.log("recaptcha call back:")
            console.log(recaptchaToken)
          }
    

    可以将这个 token 给到后端进行校验,判断是否是机器人。后端校验可以参考官方教程,没有什么坑。
    还有一点可以注意一下:申请 key 时可以使用 192.168 这种域名,方便本地调试。

    相关文章

      网友评论

          本文标题:Vue 集成 Google Invisible reCAPTCH

          本文链接:https://www.haomeiwen.com/subject/cfwbnhtx.html