
Giao thức OAuth 1.0 và OAuth 2.0 khác nhau như thế nào?
Last updated: September 12, 2025 Xem trên toàn màn hình



- 10 Sep 2023
Định luật Murphy giải thích tại sao chúng ta luôn gặp xui xẻo vào những lúc tưởng thuận lợi 687
- 04 Jan 2023
Phát triển phần mềm linh hoạt theo mô hình Big Bang 606
- 18 May 2021
Cây cầu hiện đại vô dụng nhất thế giới và câu chuyện cái kết của thay đổi yêu cầu 546
- 03 Mar 2020
Giả định (Assumption ) là gì? Tại sao giả định rất quan trọng với dự án? 436
- 03 May 2022
Mô hình Hybrid Agile là gì? 413
- 18 Mar 2021
Kỹ thuật ước lượng dự án phần mềm linh hoạt dựa vào Story Point - phương pháp T-Shirt Sizing 407
- 02 Aug 2023
Tổng hợp một số project tham khảo khi xây dựng các ứng dụng theo mô hình Microservices 344
- 14 Apr 2019
Product Backlog là gì? Các đặc điểm cơ bản của một Product Backlog 336
- 20 Jul 2021
Quản lý và đánh giá công việc theo quy trình TIGO SmartWork 314
- 01 Aug 2023
Phân tích yêu cầu phần mềm sẽ nhìn vào thực trạng (AS-IS) hay tương lai (TO-BE)? 313
- 02 Aug 2021
Product Owner làm gì trước khi bắt đầu sprint đầu tiên của dự án (Sprint Zero)? 310
- 28 Jun 2024
Tại sao các kỹ sư IT giỏi nhất lại là những người theo thuyết bất khả tri về công nghệ (technology agnostics)? 267
- 08 Jan 2022
Yêu cầu thay đổi (Change Request) là gì? Làm thế nào để kiểm soát Change Request? 199
- 24 Mar 2019
Scrum giống như bà mẹ chồng, giúp bạn nhìn ra các lỗi sai 184
- 10 May 2021
Phát triển Phần mềm Tinh gọn (Lean Software Development) 180
- 08 Feb 2021
Quy trình nâng cấp phần mềm quản trị doanh nghiệp TIGO ERP 166
- 21 Apr 2020
Bảo trì phần mềm là gì? Phân biệt các loại bảo trì 156
- 14 Dec 2022
Phương pháp kiểm tra Fagan Inspection là gì? 152
- 14 Aug 2024
Eventual Consistency và Strong Consistency trong Cơ sở dữ liệu phân tán 139
- 10 Aug 2020
Bạn có biết quy tắc thất bại nhanh: Fail early, fail often, fail cheap, but always fail forward 92
- 22 Jul 2020
Quản lý dự án phần mềm trong thực tế và câu chuyện thành công của InfoSys 86
- 09 Aug 2023
"Loop unrolling" là gì? 85
- 29 Aug 2023
"Function inlining" là gì? 53
- 11 Mar 2025
Thiên hướng Hành động (Bias for Action) và Thiên hướng Quy trình (Bias for Process) tác động tiêu cực tới "đổi mới và sáng tạo" như thế nào? 49
- 01 Jun 2025
Thiết Kế Hướng Miền (Domain-Driven Design) hình thành như thế nào trong kiến trúc Lưới Dữ Liệu (Data Mesh)? 35
- 06 Dec 2025
Sức mạnh của phương pháp 30-for-30: Bạn đã bao giờ cam kết 30 ngày liên tục cho một mục tiêu? 29
- 16 Apr 2025
Lãnh đạo linh hoạt: Hành động (Bias for Action) hay không hành động (Non-Action)? 25
- 01 Apr 2025
CTO ra quyết định như thế nào? 23
- 15 Aug 2025
Dự án phần mềm bị trì hoãn và vấn đề "akrasia" 22
- 05 Sep 2025
“Lời Khuyên”: Thuận lý thì ít, nghịch lý thì nhiều. Suy nghĩ không giống nhau thì không nên khuyên nhau. 6
OAuth là gì?
OAuth là một authorization framework (khung ủy quyền chuẩn), cho phép người dùng cấp cho ứng dụng bên thứ ba quyền truy cập giới hạn vào dữ liệu của họ mà không cần chia sẻ mật khẩu.
OAuth giống như một cơ chế xin phép (làm thế nào để ứng dụng được phép truy cập tài nguyên). OAuth sử dụng JWT (token chứa thông tin về cách đóng gói và xác minh thông tin người dùng).
Phân biệt OAuth 1.0 và OAuth 2.0
OAuth 1.0 và OAuth 2.0 đều là các giao thức ủy quyền, nhưng khác nhau về thiết kế và mức độ phức tạp. OAuth 1.0 dựa vào chữ ký số và quy trình trao đổi token nhiều bước, giúp tăng cường bảo mật nhưng lại khó triển khai. Trong khi đó, OAuth 2.0 đơn giản hóa bằng cách dựa vào HTTPS thay cho chữ ký số, đồng thời cung cấp nhiều loại grant (authorization code, client credentials, implicit, password) nên linh hoạt và thân thiện hơn với lập trình viên. Tuy nhiên, sự đơn giản này cũng khiến trách nhiệm đảm bảo an toàn bảo mật phụ thuộc nhiều hơn vào nhà phát triển và hệ thống triển khai.
- OAuth 1.0 giống như dùng ổ khóa cơ học (ám chỉ phức tạp nhưng chắc chắn)
- OAuth 2.0 giống như dùng ổ khóa điện tử (ám chỉ tiện lợi, hiện đại, dễ dùng nhưng phụ thuộc công nghệ)
Tiêu chí | OAuth 1.0 | OAuth 2.0 |
---|---|---|
Mức độ bảo mật | Dùng chữ ký số để xác thực, bảo mật cao | Dựa vào HTTPS/TLS để bảo mật, đơn giản hơn |
Độ phức tạp | Quy trình nhiều bước, khó triển khai | Quy trình gọn nhẹ, dễ áp dụng |
Token | Access Token có chữ ký | Access Token không chữ ký, ngắn gọn hơn |
Loại Grant | Hạn chế, ít lựa chọn | Đa dạng: Authorization Code, Client Credentials, Implicit, Password |
Khả năng mở rộng | Thiết kế cứng nhắc, khó mở rộng | Linh hoạt, dễ mở rộng cho nhiều loại ứng dụng |
Trách nhiệm bảo mật | Giao thức đảm bảo hầu hết | Nhà phát triển và hệ thống triển khai chịu nhiều trách nhiệm hơn |
Tóm lại: OAuth 1.0 an toàn nhưng phức tạp, còn OAuth 2.0 linh hoạt và phổ biến hơn nhờ sự đơn giản, nhưng cần triển khai cẩn trọng để tránh lỗ hổng.
