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

Lượt xem
Home

OAuth2 hiện đang được các nền tảng mạng xã hội lớn như Facebook, Google, Twitter sử dụng. Vậy OAuth2 là gì? Cách thức hoạt động và ưu nhược điểm của OAuth2 như thế nào? Chúng ta cùng tìm hiểu trong bài viết dưới đây nhé.

Oauth2 là gì?

OAuth 2 là một phiên bản tiếp theo của giao thức OAuth (Open Authorization), là một tiêu chuẩn được thiết kế để cho phép một trang web hoặc ứng dụng truy cập vào tài nguyên được lưu trữ bởi các ứng dụng web khác thay mặt cho người dùng.

OAuth2 là gì?
OAuth2 là gì?

OAuth2 đã thay thế OAuth 1.0 vào năm 2012 và hiện là tiêu chuẩn ngành trên thực tế để ủy quyền trực tuyến. OAuth 2.0 cho phép các ứng dụng chia sẻ tài nguyên với nhau mà không cần xác thực qua username và password như cách truyền thống. Điều này giúp hạn chế những phiền toái khi phải đăng nhập username và password ở quá nhiều nơi, hoặc quá nhiều tài khoản mà không nhớ hết.

Mặc dù web là nền tảng chính cho OAuth 2, thông số kỹ thuật cũng mô tả cách xử lý loại quyền truy cập được ủy quyền này đối với các loại ứng dụng khách khác (ứng dụng dựa trên trình duyệt, ứng dụng web phía máy chủ, ứng dụng gốc/di động, thiết bị được kết nối,…

Vai trò của OAuth

OAuth xác định có bốn vai trò chính:

  • Resource Owner (Chủ sở hữu tài nguyên): Chủ sở hữu tài nguyên là người dùng có khả năng cấp quyền truy cập vào tài khoản của họ. Ví dụ: Bạn muốn chia sẻ các thông tin như email, ngày sinh, giới tính, địa chỉ lên một trang web nào đó có thể đăng nhập bằng Facebook. Những thông tin này chính là tài nguyên cần chia sẻ và bạn chính là Resource Owner.
  • Client: Client là ứng dụng muốn truy cập vào tài khoản của người dùng. Trước khi có thể làm như vậy, client phải được người dùng ủy quyền và ủy quyền phải được xác thực bởi API.
  • Resource Server: Lưu trữ các tài khoản người dùng được bảo vệ.
  • Authorization Server: Authorization Server xác minh danh tính của người dùng sau đó cấp mã access token thông báo truy cập cho ứng dụng. Đôi khi Authorization Server cũng chính là resource server.

Token là một đoạn mã được sinh ra ngẫu nhiên bởi Authorization Server khi có yêu cầu được gửi đến từ Client. Có 2 loại token: Access token và Refresh token.

Cách hoạt động của Oauth2

Ở cấp độ cơ bản nhất, trước khi có thể sử dụng OAuth 2.0, Client phải có thông tin đăng nhập riêng, client ID và client secret từ Authorization Server để nhận dạng và xác thực chính nó khi yêu cầu mã Access token.

Sử dụng OAuth 2.0, các yêu cầu truy cập do client khởi tạo, ví dụ như ứng dụng dành cho thiết bị di động, trang web, ứng dụng TV thông minh, ứng dụng dành cho máy tính để bàn,… yêu cầu mã token, trao đổi và phản hồi tuân theo quy trình chung sau:

  • Client yêu cầu ủy quyền (Authorization Request) từ Authorization Server, cung cấp client ID và secret làm nhận dạng. Đồng thời, cũng cung cấp các scope và endpoint URI (redirect URI) để gửi Access Token hoặc Authorization Code.
  • Authorization Server xác thực client và xác minh rằng scope yêu cầu được cho phép.
  • Resource owner tương tác với Authorization Serve để cấp quyền truy cập.
  • Authorization Server chuyển hướng trở lại client bằng  Authorization Code hoặc Access Token, tùy thuộc vào loại. Refresh Token cũng có thể được return.
  • Với Access Token, client yêu cầu quyền truy cập vào tài nguyên từ máy Resource server.
    Các loại tài trợ trong OAuth 2.0
Cách hoạt động của Oauth2
Cách hoạt động của Oauth2

Ưu nhược điểm của Oauth2

Ưu điểm

Hiện nay Oauth2 được sử dụng rộng rãi vì có những ưu điểm sau:

  • Phiên bản Oauth2 được coi là một giao thức linh động được hoạt động dựa trên SSL, và được sử dụng để có thể bảo vệ hoàn toàn quyền riêng tư giữa sever web và trình duyệt. Phiên bản này giúp lưu token cho việc truy vấn người dùng một cách nhanh gọn và tiện lợi.
  • Được phân phối xác nhận nhanh hơn và thuận tiện hơn phiên bản cũ.
  • Cho phép truy cập hạn chế vào dữ liệu của người dùng và cho phép truy cập khi authorization token hết hạn.
  • Chia sẽ dữ liệu cho người dùng mà không cần username hay password.

Nhược điểm

Nếu ứng dụng hay web của người dùng được kết nối với các trung tâm và tài khoản trung tâm bị hack, thì sẽ ảnh hưởng đến một số trang web chứ không phải một.

Nếu có thêm phần mở rộng mô tả hệ thống, thì sẽ tạo ra một loạt các triển khai không hỗ trợ tương tác, nghĩa là người dùng phải viết riêng mã cho Facebook, Google,…

Các loại Grant Type trong Oauth2

Trong OAuth 2.0, grant là tập hợp các bước mà client phải thực hiện để có được quyền truy cập vào tài nguyên. Authorization framework cung cấp một số loại grant để giải quyết các tình huống khác nhau như:

Authorization Code grant: Authorization server trả lại Authorization Code sử dụng một lần cho client, sau đó được đổi lấy Access Token. Đây là tùy chọn tốt nhất cho các ứng dụng web truyền thống, nơi việc trao đổi có thể diễn ra một cách an toàn ở server. Authorization Code có thể được sử dụng bởi ứng dụng Single Page (SPA) và ứng dụng dành cho thiết bị di động/ứng dụng gốc.

Tuy nhiên, client secret không thể được lưu trữ an toàn ở đây, do đó việc xác thự trong quá trình trao đổi bị giới hạn ở việc sử dụng client id riêng. Một giải pháp thay thế tốt hơn là Authorization Code with PKCE grant.

Các loại Grant Type trong OAuth2
Các loại Grant Type trong OAuth2

Implicit Grant: Đây là quy trình đơn giản hóa, trong đó Access token được trả lại trực tiếp cho client. Trong Implicit flow, authorization server có thể trả về Access token dưới dạng tham số trong callback URI hoặc dưới dạng biểu mẫu. Tuy nhiên, hiện nay mã token không được sử dụng nữa do khả năng bị rò rỉ mã thông báo cao.

Authorization Code Grant with Proof Key for Code Exchange (PKCE): Quy trình ủy quyền này tương tự như Authorization Code grant, nhưng có thêm các bước bổ sung giúp an toàn hơn cho các ứng dụng di động, các native app và SPA.

Resource Owner Credentials Grant Type: Grant này yêu cầu client trước tiên phải có được thông tin đăng nhập của resource owner, được chuyển đến Authorization Server. Do đó, được giới hạn ở những Khách hàng hoàn toàn đáng tin cậy.

Resource Owner Credentials Grant Type có ưu điểm là không liên quan đến chuyển hướng đến Authorization server, vì vậy nó có thể áp dụng trong các trường hợp sử dụng mà chuyển hướng không khả thi.

Client Credentials Grant Type: Được sử dụng cho các ứng dụng không có sự tương tác. Ví dụ: Các quy trình tự động, microservices,… Trong những trường hợp này, ứng dụng được xác thực theo từng ứng dụng bằng cách sử dụng client id và secret.

Refresh Token Grant: Quy trình liên quan đến việc trao đổi Refresh Token lấy Access Token.

Lời kết

Trên đây là những thông tin Vietnix mang đến cho bạn đọc về OAuth2 là gì, cũng với những chia sẻ về cách hoạt động, ưu nhược điểm của OAuth2. Hy vọng với bài viết này bạn đọc đã có những đánh giá khách quan để có thể lựa chọn sử dụng phần mềm này. Đừng quên theo dõi những bài viết tiếp theo để có những thông tin hữu ích khác nhé.

Chia sẻ lên

Theo dõi trên

Logo Google new

Đánh giá

5/5 - (117 bình chọn)

Hưng Nguyễn

Kết nối với mình qua

Icon Quote
Icon Quote
Đăng ký nhận tin
Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vietnix

Bình luận

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Chỉ số tăng trưởng

Điểm Desktop

100 (+39)

Điểm Mobile

100 (+67)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

99 (+28)

Điểm Mobile

100 (+50)

Core Web Vitals

Passed

Lĩnh vực

SEO

Chỉ số tăng trưởng

Điểm Desktop

99 (+26)

Điểm Mobile

98 (+59)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

100 (+8)

Điểm Mobile

98 (+35)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Chỉ số tăng trưởng

Điểm Desktop

100 (+61)

Điểm Mobile

100 (+61)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Võ Thiên Tòng

25 Tháng 2 lúc 21:09

·

Mình muốn gửi lời cảm ơn chân thành đến Team Vietnix, anh Hưng Nguyễn, anh Vietnix Trung, em Quốc Huy đã hỗ trợ tối ưu Page Speed Insight (PSI) cho website vanvoiminhhoa.vn của mình.
Biết đến anh Hưng đã lâu nhưng chưa có duyên sử dụng dịch vụ bên anh. Tình cờ thấy được bài Post của anh về việc hỗ trợ tối ưu PSI miễn phí chỉ với vài Slot, thấy AE cmt khá nhiều nên cũng không nghĩ tới lượt mình. Hôm sau đánh liều inbox 1 phen xem sao thì may mắn được đưa vào danh sách. Vài ngày sau được Team Vietnix liên hệ và hỗ trợ.
Kết quả đạt được:
• Điểm xanh lè xanh lét
• Tốc độ tải trang nhanh hơn hẳn
• Các chỉ số cũng được cải thiện đáng kể
• Và mình tin rằng với việc PSI được cải thiện cũng thúc đẩy những thứ khác đi lên theo!
Mình thực sự hài lòng với dịch vụ của Vietnix và muốn giới thiệu đến tất cả mọi người:
• Dịch vụ Wordpress Hosting: Tốc độ nhanh, ổn định, bảo mật cao, hỗ trợ kỹ thuật 24/7. (https://vietnix.vn/wordpress-hosting/)
• Dịch vụ Business Hosting: Dung lượng lớn, phù hợp cho website có lượng truy cập cao, tích hợp nhiều tính năng cao cấp. (https://vietnix.vn/business-hosting/)
Đặc biệt, Vietnix đang có chương trình ưu đãi:
• Giảm giá 20% trọn đời khi nhập code THIENTONG_PAGESPEED tại trang thanh toán (Chu kỳ 12 tháng trở lên)
• Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website
Cám ơn Vietnix một lần nữa!
#Vietnix #Vanvoiminhhoa #Pagespeedinsight
Trước khi tối ưu
Sau khi tối ưu
Thiện Nguyễn - CEO SEO Dạo

5 Tháng 3 lúc 16:21

·

CORE WEB VITAL YẾU TỐ XẾP HẠNG TÌM KIẾM SEO
Core Web Vitals là một tập hợp các chỉ số đo lường hiệu suất của trang web từ góc độ người dùng, được Google sử dụng để đánh giá trải nghiệm người dùng trên các trang web. Các chỉ số chính bao gồm:
– Largest contentful paint (LCP): Tốc độ render của page. Mục tiêu là dưới 2,5 giây.
– First input delay (FID): Tốc độ phản hồi của website với tương tác của người dùng. Mục tiêu là dưới 100ms.
– Cumulative Layout Shift (CLS): Độ ổn định của bố cục trang. Mục tiêu là dưới 0.1.
Tất cả các chỉ số này đo lường các khía cạnh quan trọng của trải nghiệm người dùng trên trang web. Google đã công bố rằng từ tháng 5 năm 2021, các Core Web Vitals sẽ được sử dụng làm một trong các yếu tố đánh giá trong việc xếp hạng trang web trên kết quả tìm kiếm. Do đó, hiểu và cải thiện các Core Web Vitals là rất quan trọng đối với SEO.
Tóm lại, Core Web Vitals không chỉ giúp cải thiện hiệu suất và xếp hạng trang web trên công cụ tìm kiếm, mà còn cải thiện trải nghiệm của người dùng khi họ truy cập và tương tác với trang website.
P/s: mình đang có gói hỗ trợ đặc biệt cho anh em tối ưu tốc độ bên VIETNIX:
– Giảm 20% lifetime dịch vụ Hosting Business và Hosting Wordpress chu kỳ 12 tháng trở lên.
– Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website.
Anh em có nhu cầu đăng ký qua bạn Vietnix Trung này nhé và nhập mã SEODAO_PAGESPEED để được ưu đãi nhé.😁
Trước khi tối ưu
Sau khi tối ưu SEO Dạo
Icharm review

5 Tháng 3 lúc 15:43

·

[Mình vừa được hỗ trợ tối ưu page speed website]
Trước khi được tối ưu, web của mình điểm rất thấp, đặc biệt là mobile chỉ có 39. Cơ duyên thế nào lúc lướt face lại va phải chương trình tối ưu pagespeed bên Vietnix.
Sau khi được Trần Hoàng Phúc và team Vietnix hỗ trợ nhiệt tình, điểm web vọt lên 98 99 (như hình bên dưới). Dùng thử web thì thấy quá là mượt, 10 điểm cho team Vietnix.
Nói thật thì mình thật sự ấn tượng về sự nhiệt huyết, tận tâm và rất chuyên nghiệp bên Vietnix.
Anh em có nhu cầu về hosting hay có vấn đề về website như:
1. Web load chậm
2. Khách rời web vì đợi tải nội dung, hình ảnh lâu
3. Hay tất tần tật mọi thứ về website
THÌ LIÊN HỆ NGAY VIETNIX NHÉ!
Và đừng quên dùng pass “ICHARM_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting. Quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
Trước khi tối ưu
Sau khi tối ưu
Hoàng Nguyễn

29 Tháng 2 lúc 17:04

·

Xin chào mọi người! Vừa rồi mình có sử dụng dịch vụ tối ưu website, tăng tốc độ tải trang pagespeed của Vietnix kết quả trên cả tuyệt vời nên mình viết bài này để chia sẻ thông tin với các bạn.
Lý do mình chọn dịch vụ tối ưu tốc độ website của Vietnix:
✅ Đội ngũ chuyên gia giàu kinh nghiệm: Đã tối ưu thành công cho hàng nghìn website trong nhiều lĩnh vực khác nhau. Các bạn nhân viên rất thân thiện, nhiệt tình và chủ động trong quá trình làm việc để cập nhật tiến độ.
✅ Quy trình chuyên nghiệp:
– Kiểm tra và phân tích: Vietnix sử dụng các công cụ tiên tiến để kiểm tra và phân tích tốc độ website của bạn.
– Xác định nguyên nhân: Vietnix xác định nguyên nhân khiến website tải chậm và đưa ra giải pháp tối ưu phù hợp.
– Tối ưu hóa website: Vietnix áp dụng các kỹ thuật tối ưu tiên tiến nhất để tăng tốc độ tải trang.
– Báo cáo kết quả: Vietnix cung cấp báo cáo chi tiết về kết quả tối ưu hóa website.
Công nghệ tiên tiến: Vietnix sử dụng các công nghệ tối ưu mới nhất như LiteSpeed, LSCache, Memcached, Redis, v.v.
✅ Cam kết kết quả: Vietnix cam kết tăng tốc độ website của bạn lên tối thiểu 90%.
✅ Giá cả cạnh tranh: Vietnix cung cấp dịch vụ tối ưu tốc độ website với mức giá cạnh tranh nhất trên thị trường.
📣 Để đăng ký sử dụng dịch vụ tối ưu tốc độ website và các dịch vụ khác như hosting, vps, domain… các bạn có thể đăng ký tại https://portal.vietnix.vn/aff.php?aff=57 hoặc Inbox cho sếp Vietnix Trung nhé.
Các bạn có thể kiểm tra tốc độ trang của mình https://lasan.edu.vn hoặc một vài trang khác đã sử dụng dịch vụ của Vietnix như sau:
https://pagespeed.web.dev/…/https…/v8beqewyt2…
https://pagespeed.web.dev/…/https…/etiohjvtl4…
https://pagespeed.web.dev/…/https…/yczuqpw6d1…
https://pagespeed.web.dev/…/https…/xf9y65kuzk…
https://pagespeed.web.dev/…/https…/fdrsms15en…
https://pagespeed.web.dev/…/https…/s7p9cgzeri…
Trước khi tối ưu
Sau khi tối ưu
Dũng cá xinh

30 Tháng 1 lúc 19:09

·

[Đỉnh]
Em có dùng hosting, vps, cloud vps, cloud server, dedicated server của rất nhiều bên từ trong nước đến nước ngoài để hosting khoảng 2,000+ domain. Mỗi bên đều có ưu nhược khác nhau, nhưng có 1 số bên đặc biệt “bá đạo”, trong đó có: Vietnix!!!!

Lần đầu tiên em được cả CEO Hưng Nguyễn lẫn Master về dev Vietnix Trung của 1 đơn vị hàng đầu liên quan đến Hosting, Server support từ A – Z (từ Zalo, Tele, đến FB và cả Phone)

Em có khá nhiều web dạng Big Data (bài, ảnh, database, data) lên đến hàng trăm Gb. Càng to thì nó càng có nhiều vấn đề về phần phản hồi ban đầu (nhược điểm cố hữu của php wordpress so với nativejs, reactjs, html, headless,…), và anh em Vietnix có nhã ý hỗ trợ xử lý phần Speed Insight này.

Kết quả thực sự kinh ngạc, từ cách trao đổi đến xử lý vấn đề, cut off những cái cần cut off, xử lý rất sâu vấn đề và gợi ý rất nhiều ý tưởng optimize hệ thống!!!! Thực sự quá hài lòng về kết quả cũng như cách tương tác của các đầu tầu bên Vietnix ^^!!!

Nhân cơ duyên được kết nối với những cao thủ của Vietnix, em xin chia sẻ và lan tỏa để nhiều anh em có cơ hội được sử dụng những dịch vụ tốt nhất với giá vô cùng hợp lý!!!!

1 – Với anh em chưa có hosting, em đặc biệt recommend sử dụng hosting bên Vietnix:
– Sử dụng mã DUNGCAXINH_PAGESPEED sẽ được giảm 20% trọn đời (lifetime luôn)
– Áp dụng các gói Hosting Business, Hosting wordpress và reg 1 năm trở lên
– Anh em chưa biết cách reg thì còm men hoặc ib để em hướng dẫn hoặc nhờ các bạn bên Vietnix support từ A – Z

2 – Anh em có hosting rồi và muốn build blog hoặc web = wordpress mà chưa có giao diện thì nhân tiện em đang có tài khoản Premium bên Envato, em sẽ tặng bất kỳ giao diện nào có trên Envato Themes (Link em để dưới còm men) ạ. Cả nhà còm hoặc ib em Themes mà mọi người “chim ưng”, em sẽ cho anh em tải về, up drive và gửi ạ!!! (Chương trình này kéo dài đến ngày 29 tết âm lịch ạ)

3 – BEST NHẤT luôn!!!! Anh em nào mua hosting dùng mã DUNGCAXINH_PAGESPEED sẽ được tối ưu 100 điểm tốc độ cho 1 web (đây là ưu đãi riêng của CEO Hưng Nguyễn dành cho bạn bè của #dungcaxinh ^^) (Giá trị nhất là cái vụ số 3 này anh chị em nhé ^^), cơ hội vàng để move về đơn vị hosting uy tín là đây ^^!!!!

Một lần nữa xin chân thành cám ơn 2 đồng chí em: Hưng Nguyễn và Vietnix Trung đã giải được một bài toán khó cho các trang WP Big data mà anh loay hoay bao lâu nay chưa tìm ra đáp án!!! Chúc Vietnix ngày càng phát triển và có một năm 2024 đại đại thắng nhé ^^ !!!!!
#SEO #Vietnix #dungcaxinh

Trước khi tối ưu
Sau khi tối ưu
Hiếu AI

2 Tháng 2 lúc 21:06

·

UY TÍN – TẬN TÂM – TỐC ĐỘ

3 từ trên là vẫn chưa đủ để nói về quy trình làm việc cực chuyên nghiệp của team Vietnix.Chuyện là mình có con website chính đang có lượt truy cập organic hàng ngày cũng tương đối (hình 1)

Vấn đề là, con site này đang nằm trên hosting dùng chung nên tốc độ load chưa nhanh, tốc độ load chưa nhanh thì trải nghiệm visitor chưa tốt, trải nghiệm visitor chưa tốt thì tỷ lệ chuyển đổi ra đơn hàng kiểu gì thì kiểu cũng sẽ bị ảnh hưởng.

Biết rõ là đang mất tiền nhưng không biết xử lý như lào, nghĩ mà cay.

Đang loay hoay thì vận may nó tới, hôm qua đang lướt phở bò thấy a Nguyễn Việt Dũng đăng bài, rảnh nên thả cái comment hóng hớt, ai ngờ ngoằng phát thấy ông Dũng tạo nhóm với Vietnix Trung luôn.

Ae Vietnix thì siêu tốc độ, lập tức lấy thông tin vào việc, không hỏi han lằng nhằng, không kỳ kèo chốt đơn dù lúc đấy cũng đang đêm muộn.
Sáng hôm sau dậy vẫn còn đang lơ ngơ mở điện thoại check tin nhắn thì đã thấy ae Vietnix báo xong việc, trong khi mình vẫn chưa biết có chuyện gì xảy ra @@.

Được cái bấm thử website thì thấy load siêu nhanh, chưa tới một giây là thông tin các thứ hiện hết. Quá phê, thả con ảnh trước sau (hình 2,3) để ace tiện đối chiếu nhé. Thế này thì mình gửi gắm nốt 15 em website còn lại cho team Vietnix thôi chứ không cần nghĩ ngợi gì nữa. 10/10.

Nên là:

  1. Anh chị em muốn có một con website tốc độ load nhanh như tốc độ trở mặt của nyc – Dùng ngay dịch vụ hosting của Vietnix
  2. Anh chị em có website rồi muốn tìm bên hosting uy tín, chuyên nghiệp hỗ trợ không quản ngày đêm – Liên hệ ngay Vietnix Trung
  3. Anh chị em quan tâm đến trải nghiệm khách hàng, từ những cái nhỏ nhất như tăng tốc độ website – Better call Vietnix Trung

Và đừng quên dùng pass “HIEUAI_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting, quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
#SEO #Vietnix #hieuai

Website
Trước khi tối ưu
Sau khi tối ưu

Chỉ số tăng trưởng

Điểm Desktop

100 (+43)

Điểm Mobile

100 (+74)

Core Web Vitals

Passed

Lĩnh vực

AI