Einführung:Im Vergleich zu herkömmlichen Bildverifizierungscodes bietet der Slider-Verifizierungscode folgende Vorteile:
Da es im Internet und in den Tencent-API-Dokumenten an Informationen zur Anwendung des Slider-Verifizierungscodes von Tencent in der kombinierten API in Vue3 mangelt, wird dieses Tutorial bereitgestellt. Ich bin kein Vue-Experte und meine Kenntnisse von Vue beschränken sich nur auf die grundlegende Verwendung. Wenn Fehler vorhanden sind, weisen Sie mich bitte darauf hin. Start:Zuerst müssen wir zu Tencent Cloud gehen, um eine API zur Grafikverifizierung zu beantragen und unser eigenes Nutzungsszenario auszuwählen. Nach Abschluss der Schritte erhalten wir CaptchaAppId und AppSecretKey. Diese beiden Dinge sind die Parameter, die unser Server verwendet, um die Ergebnisse später zu überprüfen. Um es in Vue3 zu verwenden, müssen Sie zuerst den Tencent-Verifizierungscode js in die index.html des öffentlichen Ordners importieren. <script src="https://ssl.captcha.qq.com/TCaptcha.js"></script> Binden Sie in der Komponente, die den Slider-Bestätigungscode verwenden muss, eine Methode für die Anmeldeschaltfläche. Und fügen Sie die folgenden beiden Felder Hier ist mein Beispiel, das so geschrieben ist Standard exportieren { Name: "Login", aufstellen() { const loginForm = reaktiv({ Kontoname: '', KontoPasswort: '', Ticket: '', randstr: '' }) zurückkehren { Anmeldeformular } } } Anmeldeschaltflächen-Bindungsmethode Standard exportieren { Name: "Login", aufstellen() { const loginForm = reaktiv({ Kontoname: '', KontoPasswort: '', Ticket: '', randstr: '' }) const loginPost = () => { let captcha = neues Fenster.TencentCaptcha(config.app_id, res => { loginForm.randstr = res.randstr; loginForm.ticket = res.ticket; BenutzerAnmeldung(Anmeldeformular).dann(resp => { wenn (bzw.Code === 200) { //Logik nach erfolgreichem Login} else { //Logik nach Login-Fehler} }).catch(() => { ElMessage.error({ Meldung: ,Systemfehler! Bitte versuchen Sie es später noch einmal! ' }) }) }) captcha.show(); } zurückkehren { anmeldenPost, Anmeldeformular } } } Der obige Code ist in Vue geschrieben, implementiert jedoch nur den Vorgang, bei dem Benutzer den Bestätigungscode ausfüllen. Die spezifische endgültige Beurteilungslogik muss in unserem Backend implementiert werden. Wir verwenden Springboot auf dem Backend, um Verifizierungsvorgänge zu implementieren. Zuerst müssen wir die Maven-Abhängigkeit von Tencent SDK einführen <!-- Abhängigkeit vom Tencent SDK-Schieberegler-Verifizierungscode--> <Abhängigkeit> <groupId>com.tencentcloudapi</groupId> <artifactId>tencentcloud-sdk-java</artifactId> <version>4.0.11</version> </Abhängigkeit> Wir erstellen eine neue Klasse im Utils-Paket. öffentliche Klasse DescribeCaptchaResult { @Value("${Tencent.SecretId}") privater String secretId; @Value("${Tencent.SecretKey}") privater String geheimer Schlüssel; @Value("${Tencent.CaptchaAppId}") private int captchaAppId; @Value("${Tencent.AppSecretKey}") privater String appSecretKey; öffentliches JSONObject getTencentCaptchaResult(String ticket, String randstr, String userIp) { versuchen { // Instanziieren Sie ein Authentifizierungsobjekt. Die Parameter müssen im Tencent Cloud-Konto secretId und secretKey übergeben werden. Dabei ist auch auf die Vertraulichkeit des Schlüsselpaares zu achten. // Den Schlüssel erhalten Sie unter https://console.cloud.tencent.com/cam/capi. Credential cred = new Credential(secretId, secretKey); // Instanziieren Sie eine HTTP-Option, optional, Sie können HttpProfile überspringen, wenn keine besondere Anforderung besteht httpProfile = new HttpProfile(); httpProfile.setEndpoint("captcha.tencentcloudapi.com"); // Instanziieren Sie eine Client-Option, optional, Sie können ClientProfile überspringen, wenn keine besondere Anforderung besteht clientProfile = new ClientProfile(); clientProfile.setHttpProfile(httpProfile); // Instanziieren Sie das Client-Objekt, um das Produkt anzufordern, clientProfile ist optional CaptchaClient client = new CaptchaClient(cred, "", clientProfile); //Instanziieren Sie ein Anforderungsobjekt. Jede Schnittstelle entspricht einem Anforderungsobjekt DescribeCaptchaResultRequest req = new DescribeCaptchaResultRequest(); erfordert.setCaptchaType(9L); req.setTicket(Ticket); req.setRandstr(randstr); req.setUserIp(Benutzer-IP); req.setCaptchaAppId((lang) captchaAppId); req.setAppSecretKey(appSecretKey); // Die zurückgegebene Antwort ist eine Instanz von DescribeCaptchaResultResponse, die dem Anforderungsobjekt DescribeCaptchaResultResponse resp = client.DescribeCaptchaResult(req); entspricht. // Gib die Zeichenfolge im JSON-Format aus. return JSONObject.parseObject(DescribeCaptchaResultResponse.toJsonString(resp)); } Fang (TencentCloudSDKException e) { neue ServiceException auslösen (z. B. getMessage()); } } } Nachfolgend finden Sie eine Aufschlüsselung der für diese Klasse erforderlichen Parameter. |
Parameter | Analyse |
---|---|
geheimeID | SecretId ist die API-Schlüssel-ID Ihres Tencent Cloud-Kontos (es wird empfohlen, zur Autorisierung ein Unterkonto zu verwenden) |
geheimer Schlüssel | SecretKey ist der API-Schlüssel Ihres Tencent Cloud-Kontos (es wird empfohlen, zur Autorisierung ein Unterkonto zu verwenden) |
captchaAppId | captchaAppId ist der von Ihnen beantragte API-Schlüssel für den Tencent-Verifizierungscode |
appSecretKey | appSecretKey ist der von Ihnen beantragte API-Schlüssel für den Tencent-Verifizierungscode |
Ticket | Ticket ist der Parameter, der zurückgegeben wird, nachdem der Verifizierungscode des Frontend-Schiebereglers verifiziert wurde |
randstr | randstr ist der Parameter, der nach der Überprüfung Ihres Front-End-Schieberegler-Verifizierungscodes zurückgegeben wird |
Benutzer-IP | userIp ist die von Ihrer Business-Schicht erhaltene IP |
{ "Antwort": { "Anforderungs-ID": "3b61a17b-cb38-470e-802c-b6242faf81ac", "CaptchaCode": 1, "CaptchaMsg": "OK", "Böse Stufe": 0, "GetCaptchaTime": 1583749870 }, "retcode": 0, "retmsg": "Erfolg" }
Weitere spezifische Parameter finden Sie in der Tencent-API-Dokumentation: https://cloud.tencent.com/document/product/1110/36926
Den Wert des CaptchaCodes habe ich hier ausgelesen. Wenn der Wert 1 ist, ist die Verifizierung des Verifizierungscodes erfolgreich. Wenn er nicht 1 ist, schlägt die Verifizierung fehl.
//Überprüfen Sie den Bestätigungscode JSONObject tencentCaptchaResult = captchaResult.getTencentCaptchaResult(ticket, randstr, clientIp); int captchaCode = Integer.parseInt(tencentCaptchaResult.getString("CaptchaCode")); wenn (CaptchaCode != 1) { throw new ServiceException("Fehler beim Verifizierungscode!"); } //...Anschließende Business-Logik
In Tencent Cloud können Sie für den Bestätigungscode auch weitere Dinge festlegen, z. B. das Thema des Bestätigungscodes, die Szenenkonfiguration des Bestätigungscodes, den Grad des böswilligen Abfangens des Bestätigungscodes usw. .
Sie können auch die Anzahl der Bestätigungscode-Anfragen im Hintergrund sehen
Ich bin der Meinung, dass Backend und Frontend weiter gekapselt werden können, um den Code prägnanter zu gestalten. Alibaba Cloud hat andere neue Bestätigungscodes, die ich noch nicht ausprobiert habe. Ich persönlich finde, dass der Bestätigungscode von Tencent ziemlich gut zu verwenden ist, aber die API-Dokumentation ist etwas dürftig und es gibt sehr wenige Informationen.
Dies ist das Ende dieses Artikels über die Verwendung des Tencent-Schieberegler-Verifizierungscodes im Vue3+Vue-cli4-Projekt. Weitere relevante Inhalte zum Vue Tencent-Schieberegler-Verifizierungscode finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!
<<: So löschen Sie Standardformate und legen allgemeine Formate in CSS fest
Inhaltsverzeichnis Funktionen von etcd Es gibt dr...
Dieser Artikel zeichnet das Installations- und Ko...
Ich habe Apache nie verwendet. Nachdem ich angefa...
Inhaltsverzeichnis Sehen Sie sich dies an.$store....
Laden Sie ausländische Bilder mit Alibaba Cloud I...
Überblick Das Builder-Muster ist ein relativ einf...
Installieren Sie Virtualisierungssoftware Bevor S...
Mit dem Aufkommen von Docker haben sich viele Die...
Zum Ausführen von Docker sind Root-Rechte erforde...
1: MySql herunterladen Offizielle Download-Adress...
<br />Ursprünglicher Link: http://www.dudo.o...
Inhaltsverzeichnis 1. Installation: 2. Verwendung...
In MySQL können Sie die Funktionen IF(), IFNULL()...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Linux-Umgebungsvariablen und P...