Những kiến thức hữu ích nhất về Oauth không nên bỏ qua

hovanban

Well-known member
Một trong những thuật ngữ được sử dụng rộng rãi bởi các mạng xã hội lớn hiện nay như Google, Facebook, Microsoft, Amazon,... nhằm giúp người dùng có thể đăng nhập vào các ứng dụng khác một cách dễ dàng đấy chính là Oauth. Chỉ bằng một Click chuột là bạn có thể đăng nhập được vào ứng dụng khác mà không cần phải nhớ và nhập mật khẩu. Vậy chi tiết về Oauth là gì, những lợi ích khi sử dụng Oauth đối với người dùng và dữ liệu, tất cả sẽ được chúng tôi giải đáp tại bài viết bên dưới, cùng tìm hiểu nhé!
Oauth là gì?

Oauth chính là sự kết hợp của cụm từ Open Authentication được dịch là sự chứng minh/xác minh hay cũng có thể là Open Authorization - sự cho phép, cấp phép. Đó là cách hiểu theo nghĩa đen của Oauth khi được dịch sang tiếng anh.

Để xét về nghĩa của từ Oauth trong thuật ngữ chuyên ngành và vai trò của chúng trong công nghệ thông tin thì Oauth được hiểu là sự ủy quyền thông qua bên thứ ba trong việc đăng nhập.

Trong trường hợp bạn chỉ cần tìm kiếm những thông tin trên các trang web thông thường thì việc đăng nhập là không cần thiết. Tuy nhiên nếu bạn sử dụng các trang web yêu cầu đăng nhập (trang thương mại điện tử, ứng dụng web, forum,...), mỗi trang bạn sẽ cần đăng ký và nhớ tài khoản để truy cập.

Trên thực tế để giúp cách đăng ký, đăng nhập nhanh hơn cũng như bảo mật thông tin của người dùng, thay vì phải đăng ký thêm các tài khoản mới, bạn có thể sử dụng những tài khoản khác đã có sẵn để đăng nhập như Google, Facebook, gmail, Twitter,... và còn rất nhiều những cách thức khác mà bạn có thể đăng nhập vào các trang web hoặc ứng dụng.

Khi bạn đăng nhập trực tiếp hoặc đăng nhập nhờ bên thứ ba, để bảo vệ tài khoản của bạn và xác minh tài khoản này thì các web hoặc ứng dụng sẽ gửi lại cho bạn một mã xác thực gọi là Token (chữ ký điện tử dưới dạng OTP qua gmail hoặc số điện thoại) để xác minh thông tin đăng nhập.

Một số thuật khoán khi tìm hiểu về Oauth
Để hiểu rõ hơn về Oauth và cách hoạt động của nó, bạn không nên bỏ qua một số thuật ngữ được sử dụng trong Oauth. Những thuật ngữ này rất quan trọng trong thiết kế hoặc lập trình liên quan đến phát triển giao diện và trao đổi dữ liệu giữa các ứng dụng.

  • Authentication: Xác minh tên và mật khẩu của người dùng khi khai thác các tài nguyên web hoặc ứng dụng trên máy tính, điện thoại.
  • Authorization: Sự ủy quyền khi bạn muốn đăng nhập vào các trang web, ứng dụng khác và cần có sự xác thực hay cấp phép từ các ứng dụng, web đó thông qua các tài các tài khoản google, gmail,...
  • Token based authentication: Đây là cơ chế đăng nhập cho người dùng. Khi bạn muốn đăng nhập vào một trang web hay ứng dụng nào đó, bạn cần điền một chuỗi các ký tự để xác nhận thông tin mà máy chủ gửi đến nhằm xác thực thông tin người dùng có chính xác hay không. Tiếp sau đó, bạn có thể tiếp tục đăng nhập thông qua tài khoản của bên thứ ba.
  • Token: Là mã được tạo dưới dạng OTP (mật khẩu dùng một lần) được tạo ra một cách ngẫu nhiên cho mỗi lần đăng nhập. Token cũng có thể được hiểu dưới dạng mật khẩu hay chữ ký xác nhận dưới dạng online.
  • Access Token: Nghĩa là truy cập cho người dùng để đăng nhập bằng tài khoản được tạo trước đó truy cập và khai thác sử dụng tài nguyên của một web, ứng dụng khác.
Oauth được vận hành như thế nào?
Khi bạn cần tìm một thông tin nào đó ở trang web hay ứng dụng người ta gọi đó máy khách - client. Tuy nhiên máy khách lại yêu cầu bạn phải đăng nhập mới có thể khai thác được những tài nguyên của ứng dụng hoặc trang web. Tuy nhiên, bạn lại không muốn đăng nhập bằng cách nhập thông tin mà sử dụng tài khoản Google hoặc Facebook để đăng nhập thì Oauth được vận hành theo quy trình sau:
  • Sau khi người dùng có nhu cầu đăng nhập bằng hình thức ủy quyền này, các trang web hoặc ứng dụng của bên thứ ba sẽ gửi yêu cầu đến nguồn tài nguyên của máy chủ như: Google, Gmail, Facebook,...
  • Ứng dụng, trang web được ủy quyền sẽ nhận được thông tin về mã ủy quyền từ phía người dùng. Đây là một chuỗi ký tự đã được mã mã.
  • Những thông tin này của người dùng bao gồm cả mã định danh đến sự chấp nhận ủy quyền của người dùng sẽ được ứng dụng, trang web gửi đến máy chủ.
  • Máy chủ ủy quyền sẽ thực hiện cấp mã truy cập cho trang web, ứng dụng của bên thứ ba kia nếu thông tin về mã định danh này và yêu cầu sự ủy quyền đó là hợp lệ.
  • Mã truy cập được cung cấp trước đó sẽ sử dụng trong trường hợp người dùng muốn khai thác tài nguyên của máy chủ thì phải thông qua trang web, ứng dụng bằng cách đưa ra các mã truy cập hợp lệ được cung cấp trước đó. Người dùng hoàn toàn có thể xác thực và thực hiện việc khai thác tài nguyên của máy chủ thông qua trang web, ứng dụng.
Trên đây là toàn bộ quy trình vận hành của một Oauth. Sự ủy quyền truy cập này được sử dụng khi người dùng muốn khai thác các thông tin, dữ liệu từ nhiều nguồn khác nhau, giúp người dùng hạn chế cung cấp thông tin cá nhân của mình trên nhiều trang web, ứng dụng.

Nếu đứng trên góc độ của một IT, Oauth chính là một trong những việc họ cần làm để có thể thiết kế nên một giao diện làm sao cho web, ứng dụng có thể dễ dàng trao đổi các dữ liệu với nhau, hay nói một cách chính xác là thiết kế giao diện cho ứng dụng API.

CÔNG TY TNHH TƯ VẤN TRUYỀN THÔNG MINARA
ĐỊA CHỈ:
- 182 Trần Bình Trọng, P.3, Q.5, Tp.HCM
- 27 Đường số 16, Trung Tâm Hành Chính Dĩ An, Bình Dương.
Điện thoại: 097.777.1060
Email: info@minara.vn
Website: www.minara.vn
 
Bên trên