Xác thực hai yếu tố, còn được gọi là 2FA, xác minh hai bước hoặc TFA (viết tắt), là một lớp bảo mật bổ sung được gọi là "xác thực đa yếu tố", yêu cầu không chỉ mật khẩu và tên người dùng mà còn cả một thứ mà chỉ riêng người dùng đó có trong tay, tức là một thông tin chỉ họ mới nên biết hoặc có sẵn ngay - chẳng hạn như một thiết bị xác thực vật lý - trong trường hợp của chúng tôi là một chiếc điện thoại. Đó là chiếc điện thoại có một số điện thoại có thể truy vết được gán cho nó.
Hướng dẫn sau đây sẽ giải thích cách thiết lập Xác thực 2 yếu tố cho trang web mới hoặc hiện có của bạn.
Trước hết, hãy đăng nhập vào tài khoản của bạn và tìm màn hình Xác thực 2 yếu tố:
- Nhấp vào ô “Ứng dụng”:
- Khi đã ở trang Ứng dụng (Applications), hãy nhấp vào ô “Xác thực 2 yếu tố (2 Factor Auth)”:
- Khi đã ở trang “Xác thực 2 yếu tố”, hãy nhấp vào nút “Tạo mới”.
Dưới đây là các tùy chọn bạn sẽ thấy:

Dưới đây là phần giải thích về các tùy chọn khác nhau hiện có:
1. Tên : tên của phiên bản Xác thực Hai yếu tố này
2. Mô tả : mô tả ngắn gọn
3. CallerID : Đây là CallerID sẽ được dùng khi thực hiện cuộc gọi đi (nếu đã bật gọi đi).
4. SenderID : Đây là SenderID SMS/nhắn tin (số From) sẽ được sử dụng khi gửi tin nhắn SMS/văn bản. Xin lưu ý rằng đối với Hoa Kỳ/Canada, bạn phải có số điện thoại đã bật SMS trong tài khoản của mình trước khi có thể chọn tùy chọn này.
5. Cho phép quay số : Tùy chọn này sẽ cho phép người dùng cuối/khách truy cập của bạn xác minh số điện thoại của họ bằng cách nhận cuộc gọi. Khi được đặt thành “Yes” (Có), một nhóm tùy chọn khác sẽ hiển thị. Cuộn xuống để xem mô tả.
6. Độ dài PIN : Độ dài mã PIN , mặc định là 4 ký tự
7. POST URL : Đây là một trong những tùy chọn quan trọng nhất bạn có thể thiết lập: Đây là URL mà chúng tôi sẽ dùng để gửi cho bạn thông tin xác thực/xác minh. Toàn bộ quá trình này diễn ra phía máy chủ nên người dùng cuối của bạn sẽ không biết về URL này.
8. Local Post URL (URL nhận yêu cầu POST): Đây là URL mà applet của chúng tôi gửi yêu cầu HTTP POST đến từ giao diện phía khách hàng, để ứng dụng của bạn tiếp tục xử lý thao tác đăng ký hoặc đăng nhập của người dùng.
9. DIV ID : Ứng dụng Xác thực hai yếu tố của chúng tôi sẽ dùng div id này để hiển thị giao diện người dùng (UI) dạng nhúng. Giá trị này cần được định nghĩa thêm trong mã HTML của trang bạn dưới dạng một DIV trống.
Ví dụ, nếu bạn đặt DIV ID là "2fa", thì bạn nên chỉnh sửa trang đăng nhập/đăng ký của mình và thêm một div trống như sau:
. Đây là nơi applet 2FA sẽ xuất hiện.
10. Kiểu xác thực : Bạn có hai lựa chọn: "Gửi tới URL" (Post URL) (sẽ kích hoạt một lệnh gọi tới URL/tùy chọn mà chúng tôi đã giải thích ở trên tại mục "7. POST URL"), và "Bật trực tiếp" (Enable Directly), tùy chọn này chỉ cho phép biểu mẫu tiếp tục gửi tới "8. URL gửi cục bộ" (Local Post URL) (kém an toàn hơn)
11. Tên miền : Bạn có thể và nên giới hạn mục này ở tên miền mà trang web của bạn sử dụng. Nếu trang web của bạn là www.test.com, vui lòng giới hạn việc sử dụng ở tên miền này để ứng dụng 2FA chỉ hoạt động trên tên miền đó.
12. Hiển thị Captcha : Tùy chọn này điều khiển việc hiển thị Captcha trên giao diện người dùng 2FA có thể nhúng.
13. Số lần thử lại tối đa: Chúng ta nên cho phép bao nhiêu lần thử lại cho mỗi khách truy cập?
14. Mã định danh duy nhất : Đây là mã định danh duy nhất mà bạn sẽ sử dụng cho applet 2FA nhúng này. Chúng tôi sẽ giải thích cách sử dụng sau (hãy tiếp tục đọc bài viết này :) )
15. Số lần thử lại SMS tối đa : Chúng ta nên cho phép người dùng cuối thử gửi lại SMS bao nhiêu lần?
16. Số lần thử gọi lại tối đa : Chúng ta nên cho phép người dùng cuối thử gọi lại số của họ bao nhiêu lần?
17. Tin nhắn SMS : Cho phép bạn gửi một tin nhắn SMS có thể cấu hình (tùy chọn này chưa khả dụng)
18. Liên kết Trợ giúp : Đây sẽ là liên kết trợ giúp được hiển thị trên applet 2FA có thể nhúng. Nếu không chỉ định, sẽ không hiển thị gì.
Khi “Allow Dialing” được đặt thành yes, các tùy chọn sau sẽ khả dụng:

Dưới đây là giải thích về các tùy chọn bổ sung:
1. Lựa chọn âm thanh (Audio Choice) : cho phép bạn chọn cách cung cấp mã PIN xác thực cho người dùng. Các lựa chọn có sẵn là TTS và Audio. Chọn Audio sẽ ẩn các tùy chọn “Chuyển văn bản thành giọng nói (Text to speech)” và “Ngôn ngữ chuyển văn bản thành giọng nói (Text to speech language)” và thay bằng “Giọng ghi âm sẵn (Prerecorded audio voice)” (nên dùng loại giọng nào?) và “Ngôn ngữ giọng ghi âm sẵn (Prerecorded audio voice language)”, như minh họa bên dưới:

2. Chuyển văn bản thành giọng nói : nếu Lựa chọn âm thanh được đặt thành "TTS" , thì đây là văn bản mà công cụ TTS sẽ đọc lại cho người dùng cuối (cước phí TTS được áp dụng).
3. Ngôn ngữ chuyển văn bản thành giọng nói : Đây sẽ là ngôn ngữ mà tính năng Chuyển văn bản thành giọng nói sẽ đọc.
4. Allow extension dialing (Cho phép nhập số nội bộ): Nếu đặt thành yes (có), người dùng cuối có thể nhập thêm số nội bộ của mình. Nhờ đó, bạn có thể liên hệ với cả người dùng cần kết nối qua IVR, thay vì chỉ những người có số điện thoại trực tiếp.
5. Giá cuộc gọi tối đa : Vì bạn trả tiền cho các cuộc gọi đi, bạn cũng có tùy chọn giới hạn chi phí mỗi phút của các cuộc gọi này. Có lẽ bạn không muốn người dùng cuối xác thực bằng điện thoại vệ tinh (như vậy sẽ rất đắt, đau ví lắm!)
6. Chờ lời chào (Wait for hello) : Nếu đặt là "No" (Không) , hệ thống của chúng tôi sẽ đọc lại số PIN ngay khi cuộc gọi được trả lời. Nếu đặt là "Yes" (Có) , hệ thống của chúng tôi sẽ chờ lời chào đầu tiên trước (phần nào cải thiện khả năng chuyển PIN đến người nhận, nhưng có thể khiến một số người dùng bỏ cuộc gọi trước khi nghe thấy số PIN - thông thường khoảng 3% người dùng bỏ cuộc gọi trước khi nghe số PIN khi bật tùy chọn này).
Khi bạn đã hoàn tất với tất cả các tùy chọn này, chỉ cần nhấp vào nút “Gửi” (Submit). Còn nhớ “Mã định danh duy nhất” (Unique Identifier) mà chúng tôi đã nói sẽ giải thích sau không? Bây giờ là lúc sử dụng nó (Bạn có thấy “WHATEVERID” trong tập lệnh bên dưới không?)
Đây là cách bạn triển khai xác thực hai bước trên website của mình:
<!DOCTYPE html>
<head>
<title>2Factor Authentication test</title>
<script type="text/javascript">
(function(d, script) {
script = d.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.onload = function(){
// remote script has loaded
};
script.src = 'https://api.multitel.net/tfa/js/WHATEVERID/WHATEVERCUSTOMER';
d.getElementsByTagName('head')[0].appendChild(script);
}(document));
</script>
</head>
<html>
<body>
<div id="multitel" width="100px"></div>
<body>
</html>Ví dụ mã · Xem nguồn
Và đây là những gì bạn sẽ thấy khi mở trang đó:

Khi người dùng cuối bắt đầu nhập số điện thoại, quốc gia sẽ bắt đầu hiển thị:
Đối với các số Hoa Kỳ:

Đối với số của Vương quốc Anh:

Người dùng cuối có thể nhấp vào "Send SMS" (Gửi SMS) hoặc "Phone Call" (Cuộc gọi điện thoại). Sau khi nhận mã xác minh qua SMS hoặc cuộc gọi, họ nhập mã đó rồi nhấp vào "Verify" (Xác minh).
Nếu được đặt, chúng tôi sẽ gửi thông tin đó cùng với "WHATEVERCUSTOMERID"

