Oauth2 là gì? Cơ chế hoạt động, sơ đồ luồng và ứng dụng thực tiễn
05/05/2026Bạ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.
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.
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.
Ứ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.
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
Tin liên quan
"SOVEREIGN CLOUD" VÀ NGHỊCH LÝ CHUYỂN ĐỔI SỐ: GIẢI MÃ BÀI TOÁN TUÂN THỦ CHO NGÀNH TÀI CHÍNH & CHÍNH PHỦ
Các tổ chức thuộc nhóm ngành trọng yếu như tài chính, ngân hàng (BFSI) và cơ quan nhà nước đang khao khát hiện đại hóa hệ thống IT (chuyển đổi sang kiến trúc Microservices, sử dụng Container/Kubernetes) để tăng tốc độ triển khai dịch vụ và nâng cao trải nghiệm người dùng. Tuy nhiên, họ lại đang vấp phải một "nghịch lý" lớn: Càng muốn áp dụng công nghệ Cloud hiện đại, rào cản về tuân thủ pháp lý và an toàn thông tin càng trở nên khắt khe.
BÀI TOÁN "NOISY NEIGHBOR" TRÊN CLOUD VÀ CHIẾN LƯỢC TỐI ƯU HIỆU NĂNG CHO HỆ THỐNG CỐT LÕI
Trong kỷ nguyên mà dữ liệu là "dầu mỏ mới", việc vận hành các hệ thống xương sống (Core ERP, Core Banking) hay các workload tính toán chuyên sâu (AI, Machine Learning, Datalake) đòi hỏi năng lực phần cứng vô cùng mạnh mẽ.
"BÃO GIÁ" HẠ TẦNG CNTT VÀ BÀI TOÁN SỐNG CÒN CỦA DOANH NGHIỆP: VÌ SAO PRIVATE CLOUD DẠNG DỊCH VỤ LÊN NGÔI?
Làn sóng bùng nổ hạ tầng AI toàn cầu đang tạo ra một "cơn địa chấn" về giá phần cứng máy chủ, chip nhớ DRAM, ổ cứng doanh nghiệp và chi phí năng lượng. Đứng trước áp lực phải chuyển đổi số nhưng lại vấp phải bài toán chi phí đầu tư (CapEx) đắt đỏ cùng thời gian giao hàng kéo dài hàng tháng, các nhà quản trị công nghệ (CIO) và tài chính (CFO) đang tìm kiếm một hướng đi mới: Không cần bỏ hàng tỷ đồng mua sắm hạ tầng mà vẫn sở hữu riêng một hệ thống Private Cloud hoàn chỉnh, an toàn và sẵn sàng vận hành ngay lập tức.
Digital Workplace là gì? Xu hướng môi trường làm việc số cho doanh nghiệp
Digital Workplace là gì? Khám phá mô hình vận hành, thành phần, lợi ích, ứng dụng, thách thức và xu hướng môi trường làm việc số cho doanh nghiệp.
Lỗ hổng Shellshock là gì? Cơ chế, tác động và cách khắc phục
Lỗ hổng Shellshock (CVE-2014-6271) trong Bash là gì, vì sao nghiêm trọng? Tìm hiểu nguyên nhân, hệ thống bị ảnh hưởng và cách kiểm tra, vá lỗi.
Scratch là gì? Cách hoạt động, ứng dụng và đối tượng phù hợp
Scratch là gì? Tìm hiểu cách lập trình bằng khối lệnh, các khái niệm có thể học, ứng dụng thực tế và sự khác nhau giữa Scratch với ScratchJr.
Phân biệt các loại Web Hosting: Đâu là lựa chọn phù hợp cho website?
Phân biệt các loại Web Hosting và tìm hiểu cách mỗi mô hình hoạt động, từ đó lựa chọn giải pháp phù hợp với nhu cầu, quy mô và định hướng phát triển website.
Website có cần hosting không? Giải đáp chi tiết từ A-Z
Website có cần hosting không? Tìm hiểu vai trò của hosting, domain và các trường hợp cần và không cần mua hosting riêng cho website.
Top nhà cung cấp dịch vụ Cloud Camera uy tín tại Việt Nam
Top nhà cung cấp dịch vụ Cloud Camera uy tín tại Việt Nam, cùng tiêu chí lựa chọn và những lưu ý quan trọng trước khi đăng ký dịch vụ.
Trigger là gì trong DBMS? Cách hoạt động, các loại phổ biến và ứng dụng
Trigger là gì trong DBMS? Tìm hiểu cách trigger hoạt động, các loại phổ biến, ví dụ minh họa, ưu nhược điểm và khi nào nên sử dụng.
Bình luận ()