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

Thảo luận trong 'Đám mây, Dịch vụ trực tuyến' bắt đầu bởi TDNC, 8/3/13. Trả lời: 121, Xem: 81319.

  1. TDNC

    TDNC facebook.com/taiht

    Tham gia:
    12/10/07
    Được thích:
    118,219
    Best Answers:
    0
    TDNC
    VIP
    Đang tải oauth.jpg…

    OAuth rất hay, nếu bạn thấy một website (hay phần mềm) nào đó cho phép đăng nhập bằng tài khoản Facebook hay Google mà không cần tạo nick mới thì rất có khả năng đó chính là OAuth. Đây là một chuẩn xác thực mở được rất nhiều các website và phần mềm sử dụng. Câu hỏi đặt ra là: Sử dụng OAuth có an toàn hay không? Tài khoản Facebook với Google có dễ bị hack nếu dùng OAuth hay không? Câu trả lời là OAuth rất an toàn, nó an toàn hơn cả việc bạn tạo một nick mới để đăng nhập một website.

    Ưu điểm:
    - Tiện lợi, nhanh chóng: không cần phải tạo nick mới mỗi khi đăng nhập vào một website hay phần mềm.
    - An toàn: Hạn chế được tình trạng đánh cắp mật khẩu, thông tin cá nhân.

    OAuth không phải là OpenID
    OpenID cũng là một dạng xác thực danh tính dùng nick từ tài khoản xxx để đăng nhập vào trang yyy. Về nguyên tắc thì hai loại này giống nhau nhưng cách hoạt động của chúng thì lại khác nhau. OpenID đòi hỏi người dùng phải cung cấp thông tin cá nhân còn OAuth thì không.

    Ví dụ về OAuth
    Ví dụ về phần mềm Foursquare trên điện thoại, khi lần đầu mở Foursquare lên, bên cạnh việc tạo nick mới, phần mềm này sẽ cho phép bạn đăng nhập bằng tài khoản Facebook. Bạn có thể đăng nhập theo cách này mà không cần phải tạo tài khoản mới hay nhập lại thông tin đăng nhập của mình. Đó chính là bạn đang sử dụng OAuth. So với cách tạo nick mới rồi đăng nhập thì OAuth an toàn hơn vì nếu lỡ Foursquare bị hacker tấn công thì thông tin của bạn sẽ không bị đánh cắp, tài khoản Facebook cũng được an toàn.

    Nếu bạn làm theo cách cũ, tức là đăng ký nick Foursuqare mới rồi đăng nhập, tức là Foursquare sẽ lưu trữ tất cả thông tin cá nhân của bạn, trong đó quan trọng nhất là email (Username) và mật khẩu. Foursquare bị hack đồng nghĩa với việc các thông tin này cũng rơi vào tay hacker. Còn khi dùng OAuth thì Foursquare sẽ không có được các thông tin cá nhân trên. Khi bạn đăng nhập bằng tài khoản Facebook thì cái mà Foursquare nhận được từ Facebook chỉ là một cái chìa khóa (token) chứa một số quyền hạn nhất định (không bao gồm quyền truy cập đến thông tin Username và Password). Cho nên nếu bị tấn công thì hacker chỉ lấy được những chìa khóa gần như vô dụng trên, còn Username và Password thì vẫn an toàn.

    Đang tải foursquare-facebook-oauth.jpg…

    OAuth hoạt động như thế nào?
    Khi bạn đăng nhập bằng Facebook, Foursquare sẽ dẫn bạn đến trang (hoặc phần mềm) Facebook và liệt kê những quyền mà nó cần phải có để cho phép bạn đăng nhập và sử dụng dịch vụ. Nếu bạn đồng ý thì lúc này Facebook sẽ phát cho Foursquare một cái chìa khóa. Bên trong chìa khóa này chứa một số quyền hạn nhất định giúp cho Foursquare có thể xác minh bạn là ai cũng như giúp cho Foursquare có thể hoạt động được. Bạn cứ tưởng tượng chìa khóa này giống như chìa khóa mỗi phòng trong nhà của bạn. Nhà bạn có nhiều phòng, khi khách (Foursquare) đến thì chủ nhà chỉ phát cho khách một chiếc chìa khóa duy nhất để mở đúng một phòng nhất định, còn các phòng chứa thông tin khác thì vẫn khóa, Foursquare không có quyền truy cập vào đó. Giả sử trên đường Foursquare bị cướp (hacker) tấn công, lấy mất chìa khóa vào phòng thì bọn cướp cũng chỉ mở được có một phòng duy nhất mà thôi (bên trong chứa các quyền để Foursquare có thể hoạt động được). Do đó cách đăng nhập bằng phương thức OAuth này rất an toàn cho người dùng cuối như chúng ta.

    Nếu bạn đăng nhập bằng tài khoản Google khác hay Twitter thì cũng tương tự. Nhiều bạn sẽ băn khoăn liệu đăng nhập bằng tài khoản Facebook hay Google như thế thì tài khoản Facebook/Google có an toàn không. Câu trả lời là an toàn bạn nhé. Nhắc lại là Facebook chỉ phát chìa khóa chứa một số quyền hạn nhất định, hacker có lấy được chìa khóa này từ Foursquare thì tài khoản Facebook cũng không bị mất mát gì đâu. Tuy nhiên lúc này bạn nên vào trang cài đặt của Facebook và xóa bỏ chìa khóa đó, mục đích là để xóa sổ những quyền hạn đã cấp vì hacker có thể dùng các token này để spam trên trang Facebook của bạn.

    Vậy chúng ta có nên sử dụng OAuth không?
    Câu trả lời là nên, và nó cũng rất dễ quản lý. Nếu website đó bị hack thì bạn chỉ cần vào lại Twitter hay Facebook rồi gỡ bỏ quyền truy cập của website đó là xong, giống như việc bạn thay đổi chìa khóa phòng vậy, token đã cấp trước kia sẽ không còn sử dụng được nữa và bạn cũng không bị mất mát thông tin gì.

    Tham khảo Wikipedia
     
    dkchoi, tears_in_heaven, insulin18k67 người khác thích nội dung này.
  2. andy.huynh

    Tham gia:
    10/10/12
    Được thích:
    111
    Best Answers:
    0
    andy.huynh
    ĐẠI BÀNG
    mình đang dùg FB để đang nhập tinh tế,, vậy có an toàn k :-S
     
    Tranguyenghia, nguyennamha, kunzarcx5 người khác thích nội dung này.
  3. hoanloc

    Tham gia:
    9/4/09
    Được thích:
    1,623
    Best Answers:
    0
    hoanloc
    TÍCH CỰC
    thấy nhiều trang giờ cũng theo cái này giống tinh tế nhưng ko theo, cứ lập cái khác cho chắc ăn :)
     
    The Viperdat19887 thích nội dung này.
  4. slbadguy

    Tham gia:
    15/5/08
    Được thích:
    950
    Best Answers:
    0
    slbadguy
    TÍCH CỰC
    Hay nhỉ, vậy mà trước giờ cứ sợ
     
  5. finalrun2005

    Tham gia:
    31/1/09
    Được thích:
    3,686
    Best Answers:
    0
  6. thuanott

    Tham gia:
    16/9/12
    Được thích:
    47
    Best Answers:
    0
  7. kieuminhtien994

    Tham gia:
    1/11/12
    Được thích:
    1,025
    Best Answers:
    0
    kieuminhtien994
    TÍCH CỰC
    Hack mất facebook là mất hết
     
    huygapro, alex0511, Thichthanhbinh1 người khác thích nội dung này.
  8. vicktorbui

    Tham gia:
    26/10/09
    Được thích:
    1,977
    Best Answers:
    0
    vicktorbui
    CAO CẤP
    nếu hacker hack được chủ nhà thì sao :D
     
  9. sihieu93

    sihieu93 Thành viên

    Tham gia:
    15/12/12
    Được thích:
    16
    Best Answers:
    0
    sihieu93
    đăng nhập = tài khoản VTC cho bá đạo ;))
     
  10. Đức Khánh

    Tham gia:
    8/1/12
    Được thích:
    233
    Best Answers:
    0
    Đức Khánh
    ĐẠI BÀNG
    Nhà mình có dùng phương thức này ko nhỉ? Hay là OpenID?
     
    1. nhthien-pp

      Tham gia:
      19/11/08
      Được thích:
      1,402
      Best Answers:
      0
      nhthien-pp
      TÍCH CỰC
      nhthien-pp @Đức Khánh Mình đang dùng giao thức này trên TT đấy :D
       
      Đức Khánh thích nội dung này.
  11. tamthangia

    Tham gia:
    9/2/09
    Được thích:
    803
    Best Answers:
    0
    tamthangia
    TÍCH CỰC
    lập njk cho lành,từ những cái phân quyền ấy ai biết những site đó khai thác những j
     
    Seiryucattuong19 thích nội dung này.
  12. Net0925345000

    Tham gia:
    26/2/12
    Được thích:
    1,131
    Best Answers:
    0
    Net0925345000
    TÍCH CỰC
    vừa rồi báo đăng níck facebook bị tuồng ra. đúa con kiu mẹ nạp 10 triệu card mobifone mới tá hoả
     
  13. virusday_123

    virusday_123 Thành viên

    Tham gia:
    12/6/10
    Được thích:
    1,464
    Best Answers:
    0
    virusday_123
    Vậy bấy lâu nay dùng fB đăng nhập tinh tế, nếu như mà ko an toàn vậy sao tinhte vẫn còn dùng, mà sao h mới giải thích, cái này là tiền trảm hậu tấu đây :D
     
  14. Giang Lợi Hại

    Giang Lợi Hại Thành viên

    Tham gia:
    23/11/12
    Được thích:
    66
    Best Answers:
    0
    Giang Lợi Hại
    Hi TDNC,
    Mình là người nghiên cứu OAuth 2.0 và triển khai cho hệ thống mình, từ ngày nó là bản draft20, giờ chắc phải thành draft40 gì đó rồi. Cá nhân mình thấy bạn viết bài này sai rất nhiều điểm. Bản thân bạn không giải thích OAuth viết tắt của cụm từ nào, nó khác openId ở điểm nào. Cái sai lớn nhất của bạn là nói đăng nhập bằng tk FB, twiter, google, ... Vào các trang web khác là OAuth. Hoàn toàn sai! Đó là openID!
    OAuth là cơ chế xác thực mở, hiện được dùng chủ yếu vào viêc tích hợp ứng dụng vào 1 hệ thống nào đó, thường là social network, các app trên FB, google plus khi hiện thông báo hỏi bạn cho phép chạy ứng dụng, cấp quyền nọ kia, đó chính là OAuth. Ứng dụng xác thực người dùng dựa vào cơ chế xác thực mở này của mạng xã hội.
    Mình đọc tinhte hàng ngày từ nhiều năm nay rồi, nhưng giờ mới viết 1 bài vì bạn nói đúng điểm mình rất rõ và quan trọng hơn là thông tin bạn viết không đúng.
    Vấn đề này rất hay, nó cho phép xây dựng những hệ thống lớn vô cùng, xây dựng ứng dụng Service Oriented.
    Nếu bạn nào không đồng ý với quan điểm của mình, xin mời cho ý kiến để mình cùng thảo luận nhé.
     
    thanhncvn, Tranguyenghia, Sr_9x58 người khác thích nội dung này.
    1. clickeveryday

      clickeveryday Thành viên

      Tham gia:
      27/9/10
      Được thích:
      2,721
      Best Answers:
      0
      clickeveryday
      clickeveryday @Giang Lợi Hại thánh nhơn xuat hien

      miềng ko bao gio login = fb vì miền ko có fb để login
       
    2. zesny95

      Tham gia:
      21/6/12
      Được thích:
      609
      Best Answers:
      0
      zesny95
      TÍCH CỰC
      zesny95 @tungchen theo cách hiểu của em thì OpenID chỉ dùng để đăng nhập còn OAuth thì nó có thể truy cập một số thao tác từ tài khoản của mình đúng k bác
       
      tungchen thích nội dung này.
    3. xnh0xchjp9x

      xnh0xchjp9x Thành viên

      Tham gia:
      15/3/10
      Được thích:
      384
      Best Answers:
      0
      xnh0xchjp9x
      xnh0xchjp9x @Giang Lợi Hại cái j mình biết thì nên phát biểu cho a e học tập bác à , đọc k mà k chia sẽ kiến thức củng là ki bo đó bác, cmt nhìu hơn nhe
       
    4. BigBan6

      BigBan6 Dự bị

      Tham gia:
      23/6/12
      Được thích:
      1
      Best Answers:
      0
      BigBan6
      Trứng
      BigBan6 @Giang Lợi Hại các bạn tự so sánh nhé:
      OpenID is about authentication- sự xác nhận là đúng (ie. proving who you are), OAuth is about authorisation- sự cho phép (ie. to grant access to functionality/data/etc.. without having to deal with the original authentication).
       
  15. vocano9191

    vocano9191 Thành viên

    Tham gia:
    6/3/10
    Được thích:
    138
    Best Answers:
    0
    vocano9191
    lâu nay mình cứ tưởng là không an toàn cơ chứ :D
     
  16. Ddeath

    Ddeath Thành viên

    Tham gia:
    19/3/09
    Được thích:
    9
    Best Answers:
    0
    Ddeath
    đọc xong mới hiểu, trước giờ mình rất ngại đăng nhập vào một trang nào đó bằng tài khoản fb
     
  17. detno29

    Tham gia:
    25/12/10
    Được thích:
    338
    Best Answers:
    0
    detno29
    TÍCH CỰC
    vấn đề ở chỗ nó tạo thành thói quen. Giả sử bạn vào 1 trang fishing, nó hiện cái login bằng FB hay G chẳng hạn, bạn typing vào, bạn sẽ mất acc 1 cách nhanh chóng nhất có thể.
     
    Seiryu, bluefire153, minhlaga2 người khác thích nội dung này.
  18. sini132

    Tham gia:
    16/6/10
    Được thích:
    46
    Best Answers:
    0
    sini132
    ĐẠI BÀNG
    Vấn đề chính là người dùng chả mấy ai quan tâm đến việc bản thân họ đang cấp những quyền gì cho những ứng dụng vớ vẩn. M chỉ đơn giản tạo một ứng dụng đòi tất cả các thông tin cá nhân, thế là xong, cá đã tự chui vào rọ :))
     
    cattuong19 thích nội dung này.
  19. nguoisongthat

    nguoisongthat Thành viên

    Tham gia:
    7/10/08
    Được thích:
    427
    Best Answers:
    0
    nguoisongthat
    Tuyệt vời,giờ mới biết về cái này, một kiến thức hay:)
     
Đang tải...