Triển khai Xác thực bên thứ ba an toàn với OAuth 2.0 và OpenID Connect trong Node.js Express

Tram Ho

Giới thiệu OAuth 2.0 và OpenID Connect

OAuth 2.0 là khung ủy quyền cho phép các ứng dụng của bên thứ ba thay mặt người dùng truy cập các tài nguyên hạn chế mà không làm lộ thông tin đăng nhập của người dùng. OpenID Connect là lớp nhận dạng được xây dựng trên OAuth 2.0 để cung cấp khả năng xác thực. Cùng nhau, họ có thể xác thực người dùng một cách an toàn và cho phép truy cập vào các tài nguyên được bảo vệ.

Bài viết này sẽ chỉ cho bạn cách triển khai OAuth 2.0 và OpenID Connect trong ứng dụng Node.js Express của bạn. Đơn giản hóa quy trình với Passport.js, một phần mềm trung gian phổ biến để xác thực.

điều kiện tiên quyết

Trước khi bắt đầu, hãy đảm bảo rằng bạn đã cài đặt các phần mềm sau trên máy của mình:

  • Node.js (v14 trở lên)
  • npm (v6 trở lên)
  • Trình chỉnh sửa mã (chẳng hạn như Visual Studio Code)

Thiết lập ứng dụng Node.js Express

Đầu tiên, tạo một thư mục mới cho dự án của bạn và điều hướng đến nó trong thiết bị đầu cuối của bạn. Sau đó sử dụng npm để khởi tạo dự án của bạn.

Cài đặt phụ thuộc

Sau đó cài đặt các gói cần thiết.

Tạo một máy chủ Express

Tạo tệp index.js trong thư mục gốc của dự án và thêm mã để định cấu hình máy chủ Express cơ bản.

Cách sử dụng OpenID Connect với Passport.js

Cài đặt hộ chiếu.js

Trước tiên, hãy tạo tệp .env trong thư mục gốc của dự án để lưu trữ id ứng dụng khách, bí mật ứng dụng khách và url gọi lại. Chúng được cung cấp bởi nhà cung cấp xác thực bạn đã chọn (Google, Facebook, v.v.).

Tiếp theo, tạo tệp passport-setup.js trong thư mục gốc của dự án và thêm mã để định cấu hình Passport.js bằng chiến lược OpenID Connect.

Thay thế https://your-auth-provider.com bằng URL của nhà phát hành thích hợp cho nhà cung cấp xác thực bạn đã chọn.

Cập nhật máy chủ tốc hành

Tiếp theo, cập nhật tệp index.js để bao gồm cài đặt Passport.js và OpenID Connect.

thử nghiệm ứng dụng

Bạn hiện đã sẵn sàng thử nghiệm ứng dụng Node.js Express của mình bằng OAuth 2.0 và OpenID Connect. Để khởi động máy chủ, hãy chạy lệnh sau:

Trỏ trình duyệt của bạn tới http://localhost:3000/login và nhấp vào liên kết “Đăng nhập bằng Nhà cung cấp Nhận dạng”. Bạn sẽ được chuyển hướng đến trang đăng nhập của nhà cung cấp xác thực của bạn. Sau khi đăng nhập, bạn sẽ được chuyển hướng đến /profile route và thấy lời chào cá nhân với tên hiển thị của bạn.

bản tóm tắt

Trong bài viết này, chúng tôi đã trình bày cách triển khai OAuth 2.0 và OpenID Connect trong ứng dụng Node.js Express bằng Passport.js. Phương pháp xác thực an toàn này cho phép người dùng xác thực mà không để lộ thông tin đăng nhập của họ cho các ứng dụng, dẫn đến quy trình xác thực an toàn và đáng tin cậy hơn.

Khi triển khai ứng dụng của bạn vào sản xuất, hãy nhớ thay thế thông tin cấu hình mẫu (URL của nhà phát hành, ID ứng dụng khách, Bí mật ứng dụng khách, v.v.) bằng thông tin nhà cung cấp xác thực thực tế của bạn.

cuối cùng

Tôi luôn mắc nợ. Tôi hy vọng bạn thích bài viết này và học được một cái gì đó mới.

Hẹn gặp lại các bạn trong bài viết tiếp theo! Nếu bạn thích bài viết này, hãy nhấn “THÍCH” và đăng ký để ủng hộ tôi. Cảm ơn rất nhiều.

Giới thiệu

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo