Tham dự Tech Lounge

Tham dự Tech Lounge


OAuth là gì? Chuyện gì sẽ xảy ra khi bạn đăng nhập website bằng nick Facebook, Google, Twitter…?

TDNC
8/3/2013 7:20Phản hồi: 121
121 bình luận
Chia sẻ

Xu hướng

Tài khoản của mấy đại ca Việt Nam thì có vài cái nick game.Bị hack cũng không ảnh hưởng đến hoà bình thế giới,an ninh Quốc gia gì.
Chủ đề thú vị được nhiều người quan tâm và bình luận quá 😁
OAuth là 1 khái niệm mới, được hình thành bởi mấy kỹ sư giỏi của Google, Yahoo, FB, ... cách đây mấy năm thôi, hiện giờ đang là version 2.0 Draft, những mạng xã hội lớn đều đang dùng cái này. Ở VN theo mình biết có Zing me, MXH gì đó của FPT và 1 dự án bên mình đang phát triển, chưa Lauch nên mình ko nói tên đc :p
Đọc comment các bạn có thể thấy điều các bạn quan tâm chủ yếu là OAuth có an toàn hay không và OAuth khác OpenID là gì.
Mình xin trả lời dựa trên hiểu biết của mình mà ko có 1 cái quick reference nào cả ;)
Nhưng trước khi hỏi hay trả lời 2 câu này bạn phải hiểu OAuth là gì và OpenID là gì. Nói nôm na thế này cho nhanh, OpenID là hệ thống Single Signon, tức là chỉ cần đăng nhập 1 nơi dùng mọi nơi. Còn OAuth là hệ thống Central Profile, tức là người dùng có 1 "kho tài nguyên", đăng nhập 1 lần với tư cách người dùng và được quyền sử dụng tài nguyên của người dùng ấy.
OpenID là công nghệ ra đời cách đây khá lâu, và chỉ giúp xác thực người dùng chứ không cung cấp khả năng sử dụng tài nguyên của người dùng.
Nói nôm na là vậy, còn đi vào chi tiết kỹ thuật thì khá phức tạp và chuẩn OAuth2.0 hiện nay có rất nhiều ưu việt so với OpenID.
Rồi, vậy OAuth có an toàn hay không?
- : vì quá trình xác thực này gồm mấy bước bắt tay Client-Server, kiểm tra token, nếu kết hợp SSL thì không thể sniff, giả mạo được. Bạn nào muốn hiểu rõ hơn thì cần nghiên cứu thêm, nhưng mình không khuyến khích nhé :D
- KHÔNG: vì bạn đã trao quyền sử dụng 1 số tài nguyên của mình cho ứng dụng, ví dụ 1 app trên FB xin bạn cấp quyền tự post lên tường, lấy contact của bạn,... app ngon thì không sao, gặp app cùi, làm chuyện bậy bạ dưới tên bạn thì bạn đừng buồn nghe :rolleyes:

Thanks các bạn đã chia sẻ.

TDNC: Mình làm IT và chuyên về R&D, muốn viết bài cho tinhte thì phải làm sao?
@Giang Lợi Hại Bác cứ post bài trong forum rồi pm cho mình là được 😃
hhhh1111
TÍCH CỰC
11 năm
@Giang Lợi Hại chuẩn quá, mình cũng đôi lần làm app facebook, OAuth đúng kiểu xin vào kho tài nguyên của user
Salad
ĐẠI BÀNG
11 năm
Việc đăng nhập trên website hay app nào đó bằng tài khoản facebook hay twitter đúng là sử dụng cơ chế authorize bằng OAuth(2), tuy nhiên nó không hề đảm bảo thông tin cá nhân của bạn sẽ được an toàn, vì sao?

Đa số các website và app, hay ít nhất với những trang mình từng phát triển, sau khi được người dùng cấp quyền lấy thông tin cá nhân từ facebook hay twitter, app sẽ sao chép lại số thông tin đó & lưu xuống csdl, để sử dụng sau, như thế sẽ chắc chắn nhanh hơn việc khi nào cần lại chạy đến facebook hay twitter để hỏi lại

Thử tưởng tượng việc app muốn gởi email đến một vài, hoặc tất cả thành viên, cứ mỗi người như thế lại cầm chìa khoá đến facebook để tìm địa chỉ email, sẽ trở thành cơn ác mộng. Chắc chắn app sẽ sao chép lại email & thông tin cá nhân ngay từ lần đầu tiên, để khi cần lấy lên xài là xong

Ưu điểm lớn nhất của OAuth hay openID, có lẽ là ng dùng không cần phải mắc công khai báo thông tin để tạo tài khoản, không cần phải nhớ username/password khi đăng nhập, và cũng không cần phải gõ chúng vào khung đăng nhập
Làm hồi xưa mình cứ tưởng... Toàn ngồi lập nick mới.. Hjx. Tốn thời gian
nghe các bro thảo luận mới thấy tác hại của việc đăng nhập bằng google hay face vào các trang web khác là rất dễ bị lộ thông tin cá nhân và bạn bè trên google và face
Hôm nay đọc được bài này mới hiểu vì sao vào các trang hay có mục đăng nhập qua face hay google ..(^_^)
cám ơn bác bro đã cung cấp cho em một thông tin hữu ích
em vẫn ưa chuộng việc đăng nhập mỗi website một acc và pass riêng vì vừa an toàn lại tăng cường trí nhớ giảm bớt bệnh lười (^_^)
Vào trang xxx với nick fb, lỡ đăng bình luận con hàng thì vỡ mồm.
cái nào ra cái đó còn chưa an toàn, huống nữa là giao account mail của mình cho các website, CÁC BÁC NÓI NHƯ THÁNH + THIỆN
Bữa giờ lên tinh tế đọc được nhiều thông tin hay quá 😁
11030661
TÍCH CỰC
11 năm
vậy tinhte.vn có phần đăng nhập bằng tài khoản fb có phải không nhỉ
Mình vẫn chịu khó sử dụng tài khoản riêng cho mỗi nơi. Và ít liên quan tới những trang mang thông tin chính thức của mình: email công việc, Yahoo hay Facebook.
Các tài khoản ở các site thì rất ít khi mình cho Ref tới các trang trên, trừ một số site tin tưởng như tinhte, voz và cũng chủ yếu là ở các bài viết cá nhân chứ không lưu trong Profile.
Tóm lại là mình vẫn cố gắng tự quản lý việc đăng nhập của mình. Chỉ đăng nhập những thứ quan trọng ở những site tin tưởng, còn các site khác thì dùng account vớ vẩn đăng ký theo một email cũng vớ vẩn. Đỡ phải kiểm tra việc lừa đảo qua Pop-up hay lấy thông tin hoặc lạm quyền với tài khoản của mình.
phienphuc1
ĐẠI BÀNG
11 năm
Như vậy giới hạn của quyền truy cập vào tài nguyên user trên fb như photos, profile,... Là do bên 3party và fb quy định và user ko có sự lựa chọn để quyết định 3party chỉ được lấy những gì mà user cho phép?
Lỡ như thằng OAuth bị hack thay đổi code và lúc nhập vào thì thằng OAuth nó lụm luôn username và password của mình thì làm thế nào? 😁
@JerryKist Cái này là không thể, password được lưu ở site cung cấp authentication, và do đó để thay đổi code mà lấy đc username với pass thì phải có chiếm được quyền rất cao ở site kia (Google, FB, Yahoo chẳng hạn)
@Spirit Coder Ý mình nói là lúc bạn nhập vào và submit kìa.

VD: Username và password trên FB của bạn là us3rnam3 / 12345. Khi bạn đang cố tình đăng nhập vào FB bằng OAuth trong khi OAuth đang bị hack thì lúc bạn nhập xong và bấm submit thì thằng hacker nó đã lợi dụng cái form của OAuth để lấy luôn username và password của bạn rồi. Giống như mấy site lừa đảo thôi. Dạng lừa đảo này mình gặp hoài 😃
@JerryKist Hi, bạn hiểu nhầm rồi!

Nói 1 cách dễ hình dung là vầy: "Tinhte cho phép đăng nhập bằng tài khoản FB sử dụng OAuth" thì thực chất là Tinhte đã quy định là người dùng có tài khoản FB thì có thể đăng nhập vào Tinhte, OAuth ở đây chỉ là phương thức mà thôi.

Trường hợp không an toàn nếu có là do tài khoản FB bị hack, chứ thằng OAuth nó chả có tội gì cả! 😁 (cái này hoàn toàn tránh được khi yêu cầu đăng nhập bằng tài khoản FB thì kiểm tra thật kỹ URL có phải của FB hay ko).
mrd213
CAO CẤP
11 năm
E toàn dùng nick fb để login một số app, giờ mới biết nó an toàn 😁
Red Man
TÍCH CỰC
11 năm
An toàn hay ko là do user là chủ yếu thôi.
- Nếu đăng nhập bằng OAuth thì mấy bác ko phải lo bị mất password bởi vị ứng dụng/web site ko hề tương tác trực tiếp với thông tin đăng nhập của bạn mà phải nhờ bên chủ sở hữu tài khoản của bạn. Ví dụ trên mấy app smartphone có chức năng đăng nhập = facebook, khi bạn dùng chức năng này thì nó sẽ bật app facebook lên, nhờ fb xử lý và chỉ lấy kết quả trả về.

- Lúc đăng nhập = OAuth thì mấy bác nên CHÚ Ý ứng dụng/web site muốn lấy những THÔNG TIN gì từ bạn. Nếu thấy có khả nghi chẳng hạn như 1 website như tinh tế chẳng hạn đòi quyền lấy danh sách friend, post lên wall.. trong khi rõ ràng nó chẳng cần phải có mấy quyền đó thì tốt nhất đừng đồng ý, kẻo nó làm bậy mà bạn ko ý kiến gì được đâu, tại cho phép rồi mà 😁
kien22
TÍCH CỰC
11 năm
Bây giờ thì....đã hiểu 😆
linhgenius
ĐẠI BÀNG
11 năm
mình chưa biết nó an toàn thật sự hay không?
Nhưng ví dụ có 1 hacker nào đấy làm 1 trang web và fake cái dòng login by facebook id thì có phải mình đã dâng password và username facebook cho hắn không ??
Cá nhân mình, mỗi forum 1 password (khác nhau 1 ít ở đuôi á), dùng 1 email thứ cấp cho việc đăng ký. Forum nào bị hack thì thiệt hại cũng không đến nỗi.
vậy mà xưa nay toàn sợ bị mất nick face
realvn
TÍCH CỰC
11 năm
Đúng là hay, nhưng nói chính xác ra là tiện. Chỉ tiện thôi chứ không hẳn tốt, như việc muốn làm 1 cái chìa khóa để mở tất cả từ xe, khóa cổng, khóa cửa cho đến... khóa két sắt. Dù cho bảo mật đến độ nào đến khi bị mất một thằng xem như là tạch hết. Mất pass FB, google là mọi chuyện trở nên ngoài tầm kiểm soát (đối với người có nhiều thứ quan trọng trên internet), còn người dùng bình thường đa số thích điều này và may mắn đến giờ cơ chế bảo mật này vẫn hoạt động tốt 😃
suatuoi
ĐẠI BÀNG
11 năm
OpenID => Hiểu đơn giản là site bạn đang muốn login sẽ được site chứa ID của bạn xác thực thằng này đúng là nó.

Oauth => Open protocol secure Authenticate, ngoài việc xác thực nguời dùng đang muốn login, qua giao thức này site đích(consumer) có thể truy cập các thông tin và sử dụng chức năng của site chứa thông tin gốc(provider) của người dùng. Ví dụ với việc login qua facebook user thường được hỏi cho phép lấy thông tin email, họ tên(xác thực và lấy thông tin người dùng) ... post lên wall(sử dụng chức năng của facebook)... Site bạn muốn đăng nhập đóng vai trò là consumer, facebook là provider.

Câu hỏi được đặt ra là có an toàn hay không? Cái nào an toàn hơn?
Câu trả lời muôn đời là an toàn hay không do người dùng. Nếu bạn bất cẩn, không chịu nhìn ngó kĩ, việc fake login là hoàn toàn có thể.
Không thằng nào an toàn hơn thằng nào!
@suatuoi Vậy nếu em để keep logon với facebook thì có cần phải login lại lần nữa không? (Sử dụng cùng 1 trình duyệt)
suatuoi
ĐẠI BÀNG
11 năm
@rooney_di_spacy Không phải login lại nếu bạn đang login provider, lúc này provider(facebook, google) sẽ hiển thị confirmation page để liệt kê các tài nguyên thông tin và tính năng mà consumer muốn sử dụng của bạn(nếu bạn chưa confirm cho consumer sử dụng trước đây, còn đã confirm 1 lần rồi thì sẽ qua luôn)!
@suatuoi Vậy là việc cần lưu ý ở đây là khi mình đã out ở FB và login vào 1 site nào đó thì phải chú ý cái trang login có đúng là của FB không (https://facebook.com/...)
Ngoài ra nếu mình đã login ở FB rồi mà site kia vẫn yêu cầu login lại thì nên nghi ngờ.
suatuoi
ĐẠI BÀNG
11 năm
@rooney_di_spacy Yep, true.
Việc không an toàn ở đây phụ thuộc nhiều vào thằng consumer có bị lợi dụng hay không.
Nếu tinh ý để ý sẽ thấy các provider sẽ không cho phép consumer include cái page login Oauth qua iframe hoặc trên chính site consumer mà bắt buộc phải mở 1 page/tab mới. Việc này có thể gây mất thẩm mĩ và hơi khó chịu cho người dùng nhưng nó lại là cái để người dùng chú ý vào page mới được mở ra và tránh việc consumer bị lợi dụng.
nguy hiểm trên mọi nẻo đường

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019