Tuyển dụng
Viettel IDC

Oauth2 là gì? Cơ chế hoạt động, sơ đồ luồng và ứng dụng thực tiễn

05/05/2026

Bạn đã bao giờ tự hỏi vì sao chỉ cần một cú click “Đăng nhập bằng Google” mà vẫn an toàn, không cần nhập mật khẩu? Câu trả lời nằm ở Oauth2 – chuẩn ủy quyền giúp các ứng dụng truy cập dữ liệu người dùng một cách bảo mật, linh hoạt và có kiểm soát. Cùng Viettel IDC tìm hiểu Oauth2 là gì và cơ chế hoạt động của chuẩn này.

Oauth2 là gì?

OAuth2 (Open Authorization 2.0) là chuẩn ủy quyền cho phép ứng dụng truy cập dữ liệu người dùng mà không cần chia sẻ mật khẩu, thông qua Access Token. Người dùng chỉ cần cấp quyền truy cập thay vì cung cấp thông tin đăng nhập trực tiếp. 

Ví dụ, khi chọn “Đăng nhập bằng Google”, website nhận token để lấy email hoặc thông tin cơ bản mà không biết mật khẩu. Cách hoạt động này giúp tăng bảo mật và kiểm soát quyền truy cập hiệu quả hơn.

Oauth2 là gì?

Lịch sử phát triển của Oauth2

OAuth được phát triển nhằm giải quyết bài toán cấp quyền an toàn cho ứng dụng bên thứ ba, từ phiên bản ban đầu phức tạp đến các tiêu chuẩn hiện đại tối ưu cho web, mobile và API. Qua từng giai đoạn, OAuth liên tục được cải tiến để đơn giản hơn, bảo mật hơn và phù hợp với nhiều mô hình triển khai khác nhau.

Giai đoạn

Nội dung chính

OAuth 1.0 (2007–2010)

Bắt đầu từ 2006, chuẩn hóa tại RFC 5849 (2010). Sử dụng chữ ký số (HMAC/SHA1) nên triển khai khá phức tạp.

OAuth 2.0 (2012)

RFC 6749 định nghĩa chuẩn mới, đơn giản hơn và dùng Access Token thay vì chữ ký số. Không tương thích với OAuth1.

OpenID Connect (2014)

Bổ sung lớp xác thực trên OAuth2, cho phép lấy thông tin người dùng thông qua ID Token (JWT).

PKCE (2015)

Cơ chế tăng bảo mật cho ứng dụng mobile/web, giúp tránh bị đánh cắp mã xác thực.

OAuth 2.0 for Native Apps (2017)

Hướng dẫn dùng OAuth2 cho app mobile/desktop, ưu tiên dùng trình duyệt hệ thống để đảm bảo an toàn.

OAuth 2.1 (2024)

Phiên bản đang hoàn thiện, tổng hợp các best practice và tăng cường bảo mật, đặc biệt là bắt buộc dùng PKCE.

Cơ chế hoạt động của Oauth2 là gì?

OAuth2 gồm  4 thành phần chính, mỗi thành phần đảm nhận một vai trò riêng trong quá trình cấp quyền và truy cập dữ liệu.

- Resource Owner (Người dùng): Chủ sở hữu tài nguyên (tài khoản), thường là người dùng cuối.

- Client (Ứng dụng): Ứng dụng yêu cầu truy cập dữ liệu (web, mobile, script…), được cấp client_id (và client_secret nếu là ứng dụng bảo mật cao).

- Authorization Server (Máy chủ ủy quyền): Thành phần xác thực người dùng và cấp quyền, trả về authorization code hoặc token (ví dụ server của Google).

- Resource Server (Máy chủ tài nguyên): Nơi lưu trữ API/dữ liệu, kiểm tra access token và trả dữ liệu cho ứng dụng.

OAuth2 hoạt động dựa trên việc cấp quyền thông qua token thay vì mật khẩu, giúp ứng dụng truy cập dữ liệu người dùng một cách an toàn. Khi người dùng muốn đăng nhập hoặc chia sẻ dữ liệu, ứng dụng sẽ chuyển hướng sang server cấp quyền để xác nhận và xin quyền truy cập. 

Sau khi người dùng đồng ý, hệ thống trả về Authorization Code, sau đó được đổi thành Access Token. Ứng dụng sử dụng token này để gọi API và lấy dữ liệu mà không cần biết thông tin đăng nhập của người dùng.

Sơ đồ luồng hoạt động

- Yêu cầu ủy quyền (Authorization Request): Người dùng nhấn vào nút đăng nhập bên thứ ba trên ứng dụng (Client). Client gửi yêu cầu đến Authorization Server.

- Xác thực và ủy quyền (Authentication/Authorization): Authorization Server yêu cầu người dùng đăng nhập (nếu chưa) và xác nhận cho phép ứng dụng truy cập tài nguyên.

- Nhận mã ủy quyền (Authorization Code): Nếu được cho phép, Authorization Server chuyển hướng người dùng lại Client kèm theo một mã tạm thời (Authorization Code).

- Đổi mã lấy Access Token (Token Request): Client gửi Authorization Code cùng Client Secret đến Authorization Server để đổi lấy Access Token.

- Cấp Access Token (Token Response): Authorization Server xác thực Client và cấp Access Token (thường có thêm Refresh Token).

- Truy cập tài nguyên (Resource Request): Client dùng Access Token gửi yêu cầu đến Resource Server để lấy dữ liệu người dùng.

Cơ chế hoạt động của Oauth2 là gì?

Ứng dụng của OAuth2

OAuth2 được sử dụng rộng rãi để cấp quyền truy cập dữ liệu an toàn mà không cần chia sẻ mật khẩu, đặc biệt trong các hệ thống web, mobile và API hiện đại. Chuẩn này giúp các ứng dụng bên thứ ba kết nối và trao đổi dữ liệu linh hoạt nhưng vẫn kiểm soát được quyền truy cập.

- Đăng nhập nhanh qua bên thứ ba như Google, Facebook

- Kết nối API giữa các ứng dụng (Google Drive, GitHub…)

- Bảo mật ứng dụng web và mobile

- Xác thực và phân quyền trong hệ thống microservices

OAuth2 vs Authentication có giống nhau không?

OAuth2 và Authentication không giống nhau vì mục đích hoàn toàn khác nhau. OAuth2 dùng để cấp quyền truy cập tài nguyên (authorization), còn Authentication dùng để xác minh danh tính người dùng (login). Trong thực tế, hai cơ chế này thường được kết hợp với nhau (ví dụ OAuth2 + OpenID Connect) để vừa đăng nhập vừa cấp quyền.

Tiêu chí

OAuth2

Authentication

Mục đích

Cấp quyền truy cập (authorization)

Xác thực danh tính (authentication)

Trả về

Access Token

Thông tin người dùng (user/session)

Có xác định user không

Không trực tiếp

Có

Ví dụ

Cho app đọc email

Đăng nhập tài khoản

Ứng dụng

API, kết nối hệ thống

Login, xác minh user

OAuth2 vs Authentication có giống nhau không?

Kết luận

Hiểu rõ oauth2 là gì không chỉ giúp bạn nắm bắt cách hoạt động của các hệ thống đăng nhập hiện đại mà còn là nền tảng quan trọng trong việc xây dựng ứng dụng an toàn, mở rộng và dễ tích hợp. Với cơ chế cấp quyền thông qua token thay vì mật khẩu, OAuth2 đã trở thành tiêu chuẩn phổ biến trong web, mobile và API, đặc biệt khi kết hợp cùng OpenID Connect để vừa xác thực vừa phân quyền hiệu quả.

Để được hỗ trợ tư vấn và tìm hiểu các dịch vụ của Viettel, bạn có thể liên hệ trực tiếp tới Viettel IDC qua các kênh:

- Hotline: 1800 8088 (miễn phí cước gọi)

- Fanpage: https://www.facebook.com/viettelidc  

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

09/11/2026

Cổng SATA là gì? Cách nhận biết và kết nối ổ HDD, SSD

Cổng SATA là gì? Cách nhận biết cổng SATA trên mainboard, phân biệt các phiên bản và kiểm tra ổ HDD, SSD có tương thích trước khi nâng cấp.

09/11/2026

Microsoft Publisher là gì? Tổng quan về phần mềm thiết kế dàn trang

Microsoft Publisher là gì? Đây là phần mềm dàn trang của Microsoft, hỗ trợ thiết kế ấn phẩm bằng các mẫu có sẵn và công cụ sắp xếp văn bản, hình ảnh linh hoạt.

09/11/2026

Có nên sử dụng các công cụ Text to speech miễn phí? Ưu điểm và hạn chế

Có nên sử dụng các công cụ Text to Speech miễn phí? Cân nhắc chất lượng giọng đọc, hạn mức và quyền sử dụng để biết khi nào bản miễn phí đủ dùng hoặc cần nâng cấp.

09/11/2026

Kiến trúc Client Server là gì? Cách mô hình máy chủ - máy khách hoạt động

Kiến trúc Client Server là gì? Đây là mô hình máy khách - máy chủ, tổ chức việc gửi yêu cầu, xử lý và trao đổi dữ liệu trong các ứng dụng và dịch vụ mạng.

09/11/2026

Cấu trúc silo là gì trong SEO? Cách xây dựng cấu trúc silo cho website

Cấu trúc silo là gì? Nắm rõ cách phân nhóm nội dung, phân biệt silo vật lý và silo ảo để xây dựng website dễ điều hướng, thuận tiện quản lý và hỗ trợ SEO.

09/11/2026

Top 15 các phần mềm quay lại màn hình miễn phí cho máy tính và điện thoại

Các phần mềm quay lại màn hình miễn phí giúp bạn ghi hình rõ nét, lưu lại thao tác và tạo video hướng dẫn trực quan cho nhu cầu học tập, làm việc hằng ngày.

09/11/2026

Postfix là gì? Hướng dẫn cài đặt và cấu hình trên Ubuntu

Postfix là gì được giải đáp qua vai trò của phần mềm chuyển thư mã nguồn mở, giúp doanh nghiệp chủ động quản lý luồng email và cấu hình hệ thống trên Linux.

09/11/2026

Cách quét mã độc cho website WordPress và lưu ý bảo mật cần biết

Cách quét mã độc cho website WordPress giúp phát hiện tệp đáng ngờ, xác định dấu vết xâm nhập và hỗ trợ xử lý sớm nguy cơ ảnh hưởng đến dữ liệu, người truy cập.

09/11/2026

Top 20 các plugin hữu ích cho WordPress tốt nhất nên cài đặt

Các plugin hữu ích cho WordPress giúp mở rộng chức năng sẵn có của website, cải thiện trải nghiệm người dùng và đơn giản hóa công việc quản trị hằng ngày.

09/11/2026

Hướng dẫn cài đặt các ứng dụng trên Ubuntu cho người mới

Hướng dẫn cài đặt các ứng dụng trên Ubuntu chi tiết từng bước, giúp người mới dễ dàng thao tác từ tải phần mềm, thiết lập gói cài đến khởi chạy ứng dụng.