<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      VonaJS業(yè)務抽象層: 驗證碼體系

      驗證碼體系

      VonaJS的內置模塊a-captcha提供了通用的驗證碼體系,使用Captcha Provider支持各種驗證碼方式,并且使用Captcha Scene支持不同場景的驗證碼使用策略

      特性

      • Captcha Provider:使用Captcha Provider支持各種驗證碼方式,如:文字圖形驗證碼、短信驗證碼,等等
      • Captcha Scene:使用Captcha Scene支持不同場景的驗證碼使用策略。比如,在某個場景下,可以在多個 Captcha Provider 中進行輪替,或者根據(jù)用戶狀態(tài)使用不同難度的 Captcha Provider,等等
      • 立即驗證:前端可以對用戶輸入的驗證碼進行立即驗證。立即驗證之后在提交表單時仍然要進行二次驗證
      • 表單驗證:前端可以將用戶輸入的驗證碼與表單數(shù)據(jù)一起發(fā)往后端驗證

      bean.captcha

      模塊a-captcha提供了全局 Bean bean.captcha,可以通過統(tǒng)一的方式使用所有 Provider/Scene 提供的驗證碼能力

      模塊a-captchasimple提供了一個 Provider a-captchasimple:imageText,基于svg-captcha實現(xiàn)文字圖片的驗證碼能力

      模塊a-captchasimple提供了一個 Scene a-captchasimple:simple。該 Scene 只使用一個 Provider,即a-captchasimple:imageText

      下面演示如何使用模塊a-captchasimple提供的驗證碼能力

      1. create

      // create captcha
      const captcha = await this.bean.captcha.create('a-captchasimple:simple');
      
      • 返回值類型:ICaptchaData
      export interface ICaptchaData {
        id: string;
        provider: keyof ICaptchaProviderRecord;
        token?: unknown;
        payload: unknown;
      }
      
      名稱 說明
      id 本次驗證碼數(shù)據(jù)的id標識
      provider 本次驗證碼所使用的Provider名稱
      token 本次驗證碼數(shù)據(jù)的token,用于比對用戶輸入值。在開發(fā)環(huán)境可以通過修改系統(tǒng)配置,將token發(fā)往前端,用于調試
      payload 本次驗證碼的負載內容,不同的Provider有不同的payload類型

      2. refresh

      // refresh captcha
      const captchaNew = await this.bean.captcha.refresh(captchaId, 'a-captchasimple:simple');
      
      • 如果一個 Scene 配置了多個 Provider,那么在刷新 capthca 時可以基于策略選取不同的 Provider

      3. verify

      // verify captcha
      const passed = await this.bean.captcha.verify(captchaId, '1234', 'a-captchasimple:simple');
      

      4. verifyImmediate

      前端可以對用戶輸入的驗證碼進行立即驗證立即驗證之后在提交表單時仍然要進行二次驗證

      // verifyImmediate captcha
      const tokenOrFalse = await this.bean.captcha.verifyImmediate(captchaId, '1234');
      
      • 如果立即驗證失敗,返回false
      • 如果立即驗證成功,返回二次token
      • 前端需要將二次token與表單數(shù)據(jù)一起發(fā)往后端進行二次驗證

      interceptor.captchaVerify

      模塊a-captcha提供了一個局部攔截器a-captcha:captchaVerify,可以針對 API 啟用驗證碼校驗

      src/suite/a-home/modules/home-user/src/controller/passport.ts

      import { Core } from 'vona-module-a-core';
      
      class ControllerPassport {
        @Web.post('login')
      + @Core.captchaVerify({ scene: 'a-captchasimple:simple' })
        async login(@Arg.body() data) {}
      }  
      
      • @Core.captchaVerify: 用于使用局部攔截器a-captcha:captchaVerify,傳入需要使用的 Scene 名稱
      • 該攔截器支持表單驗證二次驗證

      Captcha API

      模塊a-captcha提供了一組開箱即用的 Captcha API,對bean.captcha的能力進行了封裝

      src/suite-vendor/a-vona/modules/a-captcha/src/controller/captcha.ts

      名稱 說明
      create
      refresh
      verifyImmediate
      • 為何沒有提供verifyAPI?

      因為bean.captcha.verify方法用于局部攔截器a-captcha:captchaVerify

      參數(shù)配置

      可以在 App Config 中修改模塊a-captcha的參數(shù)配置

      src/backend/config/config/config.ts

      // modules
      config.modules = {
        'a-captcha': {
          captcha: {
            showToken: false,
          },
          captchaProvider: {
            ttl: 20 * 60 * 1000,
            ttlSecondary: 20 * 60 * 1000,
          },
        },
      };
      
      名稱 說明
      captcha.showToken 是否顯示token。如果為true,就將token發(fā)往前端,用于調試。默認為false
      captchaProvider.ttl captcha token的過期時間
      captchaProvider.ttlSecondary 二次token的過期時間

      資源

      posted @ 2025-11-03 09:30  濮水大叔  閱讀(89)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 西西人体44www大胆无码| 国产成人午夜福利院| 精品人妻大屁股白浆无码| 色综合久久精品亚洲国产| 极品尤物被啪到呻吟喷水| 久久丫精品国产| 欧美片内射欧美美美妇| 国产午夜亚洲精品福利| 国产va免费精品观看| 欧美日韩国产亚洲沙发| 双桥区| 中文字幕结果国产精品| av色蜜桃一区二区三区| 99精品人妻少妇一区二区| 蜜桃成人无码区免费视频网站| 免费无码高H视频在线观看| 综合久青草视频在线观看| 安达市| 日本一道一区二区视频| 中国少妇人妻xxxxx| 国产一级三级三级在线视| 国产精品日韩专区第一页| 肉大榛一进一出免费视频| 国产午夜福利视频一区二区| 国产精品午夜av福利| 在线视频中文字幕二区| 亚洲欧美日韩高清一区二区三区| 日韩不卡无码精品一区高清视频| 无码专区 人妻系列 在线| 亚洲人成亚洲人成在线观看| 蜜桃成熟色综合久久av| 92精品国产自产在线观看481页| 美女无遮挡免费视频网站| 国产亚洲精品岁国产精品| 亚洲av无码国产在丝袜线观看| 国产一区二区三区免费观看| 思热99re视热频这里只精品| 国产亚洲情侣一区二区无| 国产美女久久久亚洲综合| 日本一道一区二区视频| 亚洲高清aⅴ日本欧美视频|