Nodejs mã hóa đầu cuối

Xem hướng dẫn dành cho nhà phát triển "Xác thực React theo ví dụ" để biết hướng dẫn mới nhất về cách bảo mật ứng dụng React bằng cách sử dụng xác thực dựa trên mã thông báo

Hướng dẫn này đã bị phản đối

Tìm biểu tượng cảm xúc 🛠️️ nếu bạn muốn đọc lướt qua nội dung trong khi tập trung vào các bước xây dựng

Trọng tâm của hướng dẫn này là giúp các nhà phát triển tìm hiểu cách bảo mật ứng dụng React bằng cách triển khai xác thực người dùng. Bạn sẽ nâng cao ứng dụng React dành cho người mới bắt đầu để thực hành các khái niệm bảo mật sau

  • Thêm người dùng đăng nhập và đăng xuất
  • Truy xuất thông tin người dùng
  • Bảo vệ các tuyến ứng dụng
  • Gọi các điểm cuối được bảo vệ từ API

Hướng dẫn này sử dụng Auth0 React SDK để bảo mật các ứng dụng React, cung cấp cho các nhà phát triển React một cách dễ dàng hơn để thêm xác thực người dùng vào các ứng dụng React bằng cách sử dụng phương pháp lấy móc làm trung tâm. Auth0 React SDK cung cấp API cấp cao để xử lý nhiều chi tiết triển khai xác thực. Giờ đây, bạn có thể bảo mật các ứng dụng React của mình bằng cách sử dụng các biện pháp bảo mật tốt nhất trong khi viết ít mã hơn

⚠️ Hướng dẫn này sử dụng React Hook và các thành phần chức năng để xây dựng một ứng dụng React an toàn. Nếu bạn cần triển khai bất kỳ thành phần nào từ hướng dẫn này bằng cách sử dụng các lớp JavaScript, hãy xem kho lưu trữ

http://localhost:4040
1 khi bạn đọc cùng. Có một tệp dựa trên
http://localhost:4040
2 tương đương cho mọi tệp được tạo trong hướng dẫn này

Nodejs mã hóa đầu cuối

Auth0 hoạt động như thế nào?

Với sự trợ giúp của Auth0, bạn không cần phải là chuyên gia về các giao thức nhận dạng, chẳng hạn như OAuth 2. 0 hoặc OpenID Connect, để hiểu cách bảo mật ngăn xếp ứng dụng web của bạn. Trước tiên, bạn tích hợp ứng dụng của mình với Auth0. Sau đó, ứng dụng của bạn sẽ chuyển hướng người dùng đến trang đăng nhập có thể tùy chỉnh Auth0 khi họ cần đăng nhập. Sau khi người dùng của bạn đăng nhập thành công, Auth0 sẽ chuyển hướng họ trở lại ứng dụng của bạn, trả lại Mã thông báo web JSON (JWT) cùng với thông tin xác thực và người dùng của họ

⏰⚡️ Nếu bạn không có nhiều thời gian, hãy xem Auth0 React Quickstart để bắt đầu và chạy với xác thực người dùng cho React chỉ trong vài phút. Bạn cũng có thể xem Danh sách phát YouTube React và Auth0 của chúng tôi

Tải ứng dụng Starter

Chúng tôi đã tạo một dự án khởi đầu bằng cách sử dụng

http://localhost:4040
3 để giúp bạn tìm hiểu các khái niệm bảo mật của React thông qua thực hành thực tế. Ứng dụng khởi động sử dụng Bootstrap với chủ đề tùy chỉnh để chăm sóc kiểu dáng và bố cục cho ứng dụng của bạn. Bạn có thể tập trung vào việc xây dựng các thành phần React để bảo mật ứng dụng của mình

🛠 Như vậy, hãy sao chép kho lưu trữ

http://localhost:4040
4 trên nhánh
http://localhost:4040
5 của nó để bắt đầu

git clone -b starter [email protected]:auth0-blog/auth0-react-sample.git

🛠 Sau khi sao chép repo, hãy đặt

http://localhost:4040
4 vào thư mục hiện tại của bạn

cd auth0-react-sample

🛠 Cài đặt các gói phụ thuộc của dự án React

________số 8

Kết nối React với Auth0

Phần tốt nhất của nền tảng Auth0 là cách hợp lý hóa để bắt đầu bằng cách làm theo các bước sau

Đăng ký và tạo Ứng dụng Auth0

Nếu bạn chưa có, hãy đăng ký tài khoản Auth0 miễn phí →

Một tài khoản miễn phí cung cấp cho bạn

  • 7.000 người dùng hoạt động miễn phí và đăng nhập không giới hạn
  • Đăng nhập toàn cục Auth0 cho Web, iOS và Android
  • Tối đa 2 nhà cung cấp nhận dạng xã hội như Google, GitHub và Twitter
  • Quy tắc Serverless không giới hạn để tùy chỉnh và mở rộng khả năng của Auth0

Trong quá trình đăng ký, bạn tạo một thứ gọi là Đối tượng thuê Auth0, đại diện cho sản phẩm hoặc dịch vụ mà bạn đang thêm xác thực

🛠 Sau khi bạn đăng nhập, Auth0 sẽ đưa bạn đến Trang tổng quan. Trong menu thanh bên trái, nhấp vào "Ứng dụng"

🛠 Sau đó, nhấp vào nút "Tạo ứng dụng". Một phương thức mở ra với một biểu mẫu để cung cấp tên cho ứng dụng và chọn loại ứng dụng

  • Tên
Auth0 React Sample
  • Loại ứng dụng. Ứng dụng web một trang

🛠 Bấm vào nút "Tạo" để hoàn tất quy trình. Trang ứng dụng Auth0 của bạn tải lên

Trong bước tiếp theo, bạn sẽ tìm hiểu cách giúp React và Auth0 giao tiếp với nhau

Mối quan hệ giữa Người thuê Auth0 và Ứng dụng Auth0 là gì?

Giả sử bạn có một ứng dụng React chia sẻ ảnh có tên là "Reactogram". Sau đó, bạn sẽ tạo một đối tượng thuê Auth0 có tên là

http://localhost:4040
7. Từ góc độ khách hàng, Reactogram là sản phẩm hoặc dịch vụ của khách hàng đó

Bây giờ, giả sử rằng Reactogram có sẵn trên ba nền tảng. web dưới dạng ứng dụng một trang và dưới dạng ứng dụng di động gốc dành cho Android và iOS. Nếu mỗi nền tảng cần xác thực, bạn cần tạo ba ứng dụng Auth0 để cung cấp cho sản phẩm mọi thứ cần thiết để xác thực người dùng thông qua nền tảng đó

Người dùng Reactogram sẽ thuộc đối tượng thuê Auth0 Reactogram, chia sẻ chúng trên các ứng dụng Auth0 của nó. Nếu bạn khởi chạy một sản phẩm khác có tên "Reactiktok" cần xác thực, thì bạn sẽ cần tạo một đối tượng thuê khác,

http://localhost:4040
8 và tạo các ứng dụng Auth0 để hỗ trợ các nền tảng mà nó tồn tại

Tạo cầu nối giao tiếp giữa React và Auth0

Khi bạn sử dụng Auth0, bạn không phải tạo biểu mẫu đăng nhập. Auth0 cung cấp trang Đăng nhập toàn cục để giảm chi phí thêm và quản lý xác thực

Đăng nhập toàn cục hoạt động như thế nào?

Ứng dụng React của bạn sẽ chuyển hướng người dùng đến Auth0 bất cứ khi nào họ kích hoạt yêu cầu xác thực. Auth0 sẽ hiển thị cho họ một trang đăng nhập. Khi họ đăng nhập, Auth0 sẽ chuyển hướng họ trở lại ứng dụng React của bạn. Để việc chuyển hướng đó diễn ra an toàn, bạn phải chỉ định trong Cài đặt ứng dụng Auth0 của mình các URL mà Auth0 có thể chuyển hướng người dùng sau khi xác thực họ

🛠 Như vậy, hãy nhấp vào tab "Cài đặt" trên trang Ứng dụng Auth0 của bạn và điền vào các giá trị sau

🛠 URL gọi lại được phép

http://localhost:4040

Giá trị trên là URL mà Auth0 có thể sử dụng để chuyển hướng người dùng của bạn sau khi họ đăng nhập thành công

🛠 URL đăng xuất được phép

http://localhost:4040

Giá trị trên là URL mà Auth0 có thể sử dụng để chuyển hướng người dùng của bạn sau khi họ đăng xuất

🛠 Nguồn gốc web được phép

http://localhost:4040

Sử dụng Auth0 React SDK, ứng dụng React của bạn sẽ thực hiện các yêu cầu ẩn dưới mui xe tới một URL Auth0 để xử lý các yêu cầu xác thực. Do đó, bạn cần thêm URL gốc ứng dụng React của mình để tránh các sự cố Chia sẻ tài nguyên nguồn gốc chéo (CORS)

🛠 Cuộn xuống và nhấp vào nút "Lưu thay đổi"

🛠 Đừng đóng trang này. Bạn sẽ cần một số thông tin của nó trong phần tiếp theo

Thêm các biến cấu hình Auth0 vào React

Từ trang Cài đặt ứng dụng Auth0, bạn cần có các giá trị Tên miền Auth0 và ID ứng dụng khách để cho phép ứng dụng React của bạn sử dụng cầu giao tiếp mà bạn đã tạo

Chính xác thì Miền Auth0 và ID ứng dụng khách Auth0 là gì?

Miền

Khi bạn tạo tài khoản Auth0 mới, Auth0 đã yêu cầu chọn tên cho Đối tượng thuê của bạn. Tên này, được thêm vào với

http://localhost:4040
9, là Tên miền Auth0 của bạn. Đó là URL cơ sở mà bạn sẽ sử dụng để truy cập API Auth0 và URL nơi bạn sẽ chuyển hướng người dùng đăng nhập

Bạn cũng có thể sử dụng miền tùy chỉnh để cho phép Auth0 thực hiện công việc nặng nhọc xác thực cho bạn mà không ảnh hưởng đến trải nghiệm thương hiệu của bạn

ID khách hàng

Mỗi ứng dụng được chỉ định một ID khách hàng khi tạo, là một chuỗi chữ và số và đó là mã định danh duy nhất cho ứng dụng của bạn (chẳng hạn như

http://localhost:4040
0). Bạn không thể sửa đổi Client ID. Bạn sẽ sử dụng Client ID để xác định Ứng dụng Auth0 mà SDK Auth0 React cần kết nối

Cảnh báo. Một phần thông tin quan trọng khác có trong "Cài đặt" là Bí mật khách hàng. Bí mật này bảo vệ tài nguyên của bạn bằng cách chỉ cấp mã thông báo cho người yêu cầu nếu họ được ủy quyền. Hãy coi đó là mật khẩu của ứng dụng của bạn, mật khẩu này phải luôn được giữ bí mật. Nếu bất kỳ ai có quyền truy cập vào Bí mật khách hàng của bạn, họ có thể mạo danh ứng dụng của bạn và truy cập các tài nguyên được bảo vệ

🛠 Mở dự án khởi động React,

http://localhost:4040
4 và tạo tệp
http://localhost:4040
2 trong thư mục dự án

http://localhost:4040
9

🛠 Điền vào

http://localhost:4040
2 như sau

http://localhost:4040
1

🛠 Quay lại trang ứng dụng Auth0 của bạn. Thực hiện theo các bước sau để nhận các giá trị

http://localhost:4040
4 và
http://localhost:4040
5

Nodejs mã hóa đầu cuối

  1. 🛠 Nhấp vào tab "Cài đặt", nếu bạn chưa có

  2. 🛠 Sử dụng giá trị "Miền" từ "Cài đặt" làm giá trị của

    http://localhost:4040
    4 trong
    http://localhost:4040
    2

  3. 🛠 Sử dụng giá trị "ID khách hàng" từ "Cài đặt" làm giá trị của

    http://localhost:4040
    5 trong
    http://localhost:4040
    2

Các biến này cho phép ứng dụng React của bạn tự nhận mình là bên được ủy quyền để tương tác với máy chủ xác thực Auth0

Bộ kết nối Auth0 và React

Bạn đã hoàn tất thiết lập dịch vụ xác thực mà ứng dụng React của bạn có thể sử dụng. Tất cả những gì còn lại là để bạn tiếp tục xây dựng dự án khởi động trong suốt hướng dẫn này bằng cách triển khai các thành phần để kích hoạt và quản lý quy trình xác thực

Vui lòng tìm hiểu sâu hơn về Tài liệu Auth0 để tìm hiểu thêm về cách Auth0 giúp bạn tiết kiệm thời gian triển khai và quản lý danh tính

Thiết lập SDK phản ứng Auth0

🛠 Bạn cần làm theo các bước sau để tích hợp Auth0 React SDK với ứng dụng React của mình

Cài đặt Auth0 React SDK

🛠 Thực hiện lệnh sau

http://localhost:4040
8

Định cấu hình thành phần Auth0Provider

Về cơ bản, Auth0 React SDK sử dụng React Context. SDK sử dụng thành phần

http://localhost:4040
90 để quản lý trạng thái xác thực của người dùng của bạn. Đổi lại, SDK hiển thị thành phần
http://localhost:4040
91 cung cấp
http://localhost:4040
90 đó cho các thành phần con của nó. Như vậy, bạn có thể bọc thành phần gốc của mình, chẳng hạn như
http://localhost:4040
93, với
http://localhost:4040
91 để tích hợp Auth0 với ứng dụng React của bạn

cd auth0-react-sample
0

Tuy nhiên, xác thực người dùng là một cơ chế để giám sát ai đang truy cập ứng dụng của bạn và kiểm soát những gì họ có thể làm. Ví dụ: bạn có thể ngăn người dùng chưa đăng nhập truy cập vào các phần của ứng dụng của bạn. Trong trường hợp đó, Auth0 có thể đóng vai trò là người trả lại ứng dụng của bạn

Người bảo vệ là người được hộp đêm hoặc cơ sở tương tự tuyển dụng để ngăn chặn những kẻ gây rối xâm nhập hoặc đuổi họ ra khỏi cơ sở. Bảo mật phản ứng không quá khác biệt so với bảo mật hộp đêm

Nếu người dùng muốn nhập một tuyến đường được bảo vệ từ ứng dụng của bạn, Auth0 sẽ ngăn họ lại và yêu cầu họ xuất trình thông tin đăng nhập. Nếu Auth0 có thể xác minh họ là ai và họ phải vào đó, Auth0 sẽ cho phép họ vào. Nếu không, Auth0 sẽ đưa chúng trở lại lộ trình ứng dụng công khai

Bây giờ, điều quan trọng cần nhắc lại là quy trình xác thực sẽ không xảy ra trong lớp ứng dụng của bạn. Ứng dụng React của bạn sẽ chuyển hướng người dùng của bạn đến trang Đăng nhập toàn cục Auth0, nơi Auth0 yêu cầu thông tin đăng nhập và chuyển hướng người dùng quay lại ứng dụng của bạn với kết quả của quá trình xác thực

http://localhost:4040
91 ghi nhớ nơi người dùng muốn đến và nếu xác thực thành công, nó sẽ đưa người dùng đến tuyến đường đó. Như vậy,
http://localhost:4040
91 cần có quyền truy cập vào lịch sử phiên của ứng dụng. Ứng dụng React khởi động sử dụng React Router để quản lý định tuyến của nó. React Router hiển thị một React Hook giúp bạn dễ dàng truy cập lịch sử phiên thông qua một đối tượng
http://localhost:4040
97,
http://localhost:4040
98

Do đó, bạn cần bọc

http://localhost:4040
91 với
http://localhost:4040
10 từ Bộ định tuyến React, sử dụng thành phần
http://localhost:4040
11 dưới mui xe để duy trì trạng thái định tuyến

cd auth0-react-sample
1

Ở đây, những gì bạn thấy khi chơi là trụ cột trong kiến ​​trúc của React. bạn mở rộng các thành phần, không phải thông qua kế thừa mà là thành phần

Làm thế nào để bạn tạo một

http://localhost:4040
91 với quyền truy cập vào lịch sử phiên ứng dụng?

🛠 Bắt đầu bằng cách tạo một thư mục

http://localhost:4040
13 trong thư mục
http://localhost:4040
14

cd auth0-react-sample
2

🛠 Tạo tệp

http://localhost:4040
15 trong thư mục
http://localhost:4040
16 để xác định thành phần
http://localhost:4040
17, thành phần này sử dụng thành phần để cung cấp React Router Hooks cho
http://localhost:4040
91

cd auth0-react-sample
3

🛠 Điền vào

http://localhost:4040
19 những thông tin sau

cd auth0-react-sample
4

Điều gì đang xảy ra trong

http://localhost:4040
17?

  • Bạn cần SDK Auth0 React để kết nối với đúng Ứng dụng Auth0 để xử lý xác thực. Như vậy, bạn cần Auth0 Tên miền và Client ID để định cấu hình

    http://localhost:4040
    91

  • Bạn sử dụng phương pháp

    http://localhost:4040
    82 để xử lý sự kiện trong đó Auth0 chuyển hướng người dùng của bạn từ trang Đăng nhập toàn cục Auth0 sang ứng dụng React của bạn. Bạn sử dụng hook
    http://localhost:4040
    98 để lấy đối tượng
    http://localhost:4040
    97 từ React Router. Bạn sử dụng phương pháp
    http://localhost:4040
    85 để đưa người dùng trở lại tuyến đường mà họ dự định truy cập trước khi xác thực

Đó là nó. Gói bất kỳ cây thành phần nào bằng

http://localhost:4040
17 sẽ cấp cho nó quyền truy cập vào
http://localhost:4040
90

Bạn sử dụng

http://localhost:4040
17 như thế nào?

http://localhost:4040
17 yêu cầu thành phần
http://localhost:4040
10 từ React Router phải là cha mẹ, ông bà hoặc ông cố của nó

cd auth0-react-sample
01 từ Bộ định tuyến React phải có trong cây thành phần ở cấp độ cao hơn để
http://localhost:4040
17 truy cập móc
http://localhost:4040
98 từ Bộ định tuyến React

🛠 Mở

cd auth0-react-sample
04 và cập nhật nó như sau để xây dựng cây thành phần phù hợp nhằm cung cấp năng lượng cho các tính năng xác thực người dùng và định tuyến của ứng dụng React của bạn

cd auth0-react-sample
5

🛠 Thực hiện lệnh sau để chạy ứng dụng React của bạn

cd auth0-react-sample
6

Auth0 React SDK đã được thiết lập xong. Bạn đã sẵn sàng triển khai xác thực người dùng trong phần tiếp theo

Thêm xác thực người dùng

Bạn cần cung cấp các phần tử giao diện người dùng để người dùng kích hoạt các sự kiện xác thực. đăng nhập, đăng xuất và đăng ký

Tạo nút đăng nhập

🛠 Tạo tệp

cd auth0-react-sample
05 trong thư mục
cd auth0-react-sample
06

cd auth0-react-sample
7

🛠 Dân cư

cd auth0-react-sample
07 như vậy

cd auth0-react-sample
8

cd auth0-react-sample
08 là một phương pháp được đưa ra bởi
http://localhost:4040
90. Gọi phương thức này sẽ nhắc người dùng xác thực và cung cấp sự đồng ý cho ứng dụng React của bạn thay mặt người dùng đó truy cập vào một số dữ liệu nhất định. Trong kiến ​​trúc hiện tại của bạn, điều này có nghĩa là ứng dụng React của bạn chuyển hướng người dùng đến trang Đăng nhập toàn cục Auth0 để thực hiện quy trình xác thực. Bạn sẽ thấy điều này hoạt động trong các phần tiếp theo

Bạn có thể chuyển một đối tượng cấu hình tới

cd auth0-react-sample
08 để tùy chỉnh trải nghiệm đăng nhập. Ví dụ: bạn có thể chuyển các tùy chọn để chuyển hướng người dùng đến trang Đăng nhập toàn cục Auth0 được tối ưu hóa để đăng ký ứng dụng React của bạn. Xem
cd auth0-react-sample
11 để biết thêm chi tiết về các tùy chọn này

Tạo nút đăng ký

Bạn có thể khiến người dùng truy cập trực tiếp vào trang đăng ký thay vì trang đăng nhập bằng cách chỉ định thuộc tính

cd auth0-react-sample
12 trong đối tượng cấu hình của
cd auth0-react-sample
08

cd auth0-react-sample
9

🛠 Tạo tệp

cd auth0-react-sample
14 trong thư mục
cd auth0-react-sample
06

npm install
0

🛠 Điền vào

cd auth0-react-sample
16 như vậy để xác định thành phần
cd auth0-react-sample
17

npm install
1

Sử dụng tính năng Đăng ký yêu cầu bạn bật Trải nghiệm đăng nhập toàn cục mới Auth0 trong đối tượng thuê của mình

🛠 Mở phần Đăng nhập toàn cục của Bảng điều khiển Auth0 và chọn tùy chọn "Mới" trong phần phụ "Trải nghiệm"

Nodejs mã hóa đầu cuối

🛠 Cuộn xuống và nhấp vào nút "Lưu thay đổi"

Sự khác biệt giữa trải nghiệm người dùng

cd auth0-react-sample
18 và
cd auth0-react-sample
17 sẽ rõ ràng hơn khi bạn tích hợp các thành phần đó với ứng dụng React của mình và xem chúng hoạt động. Bạn sẽ làm điều đó trong các phần tiếp theo

Tạo nút đăng xuất

🛠 Tạo tệp

cd auth0-react-sample
20 trong thư mục
cd auth0-react-sample
06

npm install
2

Dân cư

cd auth0-react-sample
22 như vậy

npm install
3

Phương thức

cd auth0-react-sample
23 được hiển thị bởi
http://localhost:4040
90 sẽ xóa phiên ứng dụng và chuyển hướng đến điểm cuối Auth0
cd auth0-react-sample
25 để xóa phiên Auth0. Cũng như các phương thức đăng nhập, bạn có thể chuyển một đối số đối tượng tới
cd auth0-react-sample
23 để xác định các tham số cho lệnh gọi
cd auth0-react-sample
25. Quá trình này khá vô hình đối với người dùng. Xem
cd auth0-react-sample
28 để biết thêm chi tiết

Tại đây, bạn chuyển tùy chọn

cd auth0-react-sample
29 để chỉ định URL mà Auth0 sẽ chuyển hướng người dùng của bạn sau khi họ đăng xuất. Ngay bây giờ, bạn đang làm việc cục bộ và "URL đăng xuất được phép" của ứng dụng Auth0 của bạn trỏ tới
cd auth0-react-sample
30

Tuy nhiên, nếu bạn muốn triển khai ứng dụng React của mình vào sản xuất, bạn cần thêm URL đăng xuất sản xuất vào danh sách "URL đăng xuất được phép" và đảm bảo rằng Auth0 chuyển hướng người dùng của bạn đến URL sản xuất đó chứ không phải

cd auth0-react-sample
31. Đặt
cd auth0-react-sample
29 thành
cd auth0-react-sample
33 sẽ làm được điều đó

Đọc thêm về cách Đăng xuất hoạt động tại Auth0

Tích hợp nút đăng nhập và đăng xuất

Hãy bọc

cd auth0-react-sample
18 và
cd auth0-react-sample
35 thành một thành phần có tên là
cd auth0-react-sample
36

🛠 Tạo tệp

cd auth0-react-sample
37 trong thư mục
cd auth0-react-sample
06

npm install
4

🛠 Nhập mã sau vào

cd auth0-react-sample
39

npm install
5

cd auth0-react-sample
40 là một giá trị boolean được hiển thị bởi
http://localhost:4040
90. Giá trị của nó là
cd auth0-react-sample
42 khi Auth0 đã xác thực người dùng và
cd auth0-react-sample
43 khi chưa xác thực

Có một số lợi thế khi sử dụng trình bao bọc thành phần

cd auth0-react-sample
36 này

Bạn có thể xây dựng giao diện linh hoạt.

cd auth0-react-sample
36 đóng vai trò là công tắc "đăng nhập/đăng xuất" mà bạn có thể đặt ở bất cứ đâu bạn cần chức năng chuyển đổi đó. Tuy nhiên, bạn vẫn có các thành phần
cd auth0-react-sample
18 và
cd auth0-react-sample
35 riêng biệt cho các trường hợp khi bạn cần chức năng của chúng một cách riêng biệt. Ví dụ: bạn có thể có một
cd auth0-react-sample
35 trên một trang mà chỉ những người dùng được xác thực mới có thể nhìn thấy

Bạn có thể xây dựng các giao diện mở rộng. Bạn có thể dễ dàng hoán đổi thành phần

cd auth0-react-sample
18 với thành phần
cd auth0-react-sample
17 trong
cd auth0-react-sample
36 để tạo công tắc "đăng ký/đăng xuất". Bạn cũng có thể gói công tắc "đăng ký/đăng xuất" trong thành phần
cd auth0-react-sample
52

Bạn có thể xây dựng giao diện khai báo. Ví dụ: sử dụng

cd auth0-react-sample
36, bạn có thể thêm chức năng đăng nhập và đăng xuất vào thành phần
cd auth0-react-sample
54 của mình mà không cần suy nghĩ về chi tiết triển khai về cách thức hoạt động của công tắc xác thực

🛠 Với ý nghĩ đó, hãy tạo một tệp

cd auth0-react-sample
55 trong thư mục
cd auth0-react-sample
06

npm install
6

🛠 Dân cư

cd auth0-react-sample
57 như vậy

npm install
7

🛠 Cuối cùng, mở

cd auth0-react-sample
58 trong thư mục
cd auth0-react-sample
06 và cập nhật nó như vậy

npm install
8

Bằng cách có các loại thành phần con thanh điều hướng khác nhau, bạn có thể mở rộng từng loại khi cần mà không cần mở lại và sửa đổi thành phần chính

cd auth0-react-sample
54

🛠 Hãy tiếp tục và thử đăng nhập. Ứng dụng React của bạn chuyển hướng bạn đến trang Đăng nhập toàn cục Auth0. Bạn có thể sử dụng biểu mẫu để đăng nhập bằng tên người dùng và mật khẩu hoặc nhà cung cấp danh tính xã hội như Google. Lưu ý rằng trang đăng nhập này cũng cung cấp cho bạn tùy chọn để đăng ký

Nodejs mã hóa đầu cuối

Thí nghiệm. Sử dụng thành phần

cd auth0-react-sample
17

Hoán đổi thành phần

cd auth0-react-sample
18 với thành phần
cd auth0-react-sample
17 trong hoạt động bậc ba được xác định trong phần thân của thành phần
cd auth0-react-sample
36

Khi bạn nhấp vào nút "Đăng ký", bạn sẽ đến một trang có ngôn ngữ được tối ưu hóa để khuyến khích bạn đăng ký ứng dụng React của mình

Thử thứ này đi

Nodejs mã hóa đầu cuối

Khi bạn hoàn thành thử nghiệm này, hãy đổi lại

cd auth0-react-sample
17 với
cd auth0-react-sample
18 để tiếp tục với phần còn lại của hướng dẫn này

Bạn có thể tùy chỉnh giao diện của các trang Đăng nhập toàn cục mới. Bạn cũng có thể ghi đè bất kỳ văn bản nào trong Trải nghiệm mới bằng API tùy chỉnh văn bản

Lưu ý rằng khi bạn đăng nhập xong và Auth0 chuyển hướng bạn đến ứng dụng React của bạn, nút đăng nhập sẽ hiển thị nhanh (màu xanh lam) và sau đó nút đăng xuất hiển thị (màu đỏ)

Giao diện người dùng nhấp nháy vì ứng dụng React của bạn không biết Auth0 đã xác thực người dùng chưa. Ứng dụng của bạn sẽ biết trạng thái xác thực người dùng sau khi tải Auth0 React SDK

🛠 Để khắc phục lỗi nhấp nháy giao diện người dùng đó, hãy sử dụng giá trị boolean

cd auth0-react-sample
67 do
http://localhost:4040
90 hiển thị để hiển thị thành phần
http://localhost:4040
93 sau khi SDK Auth0 React tải xong

🛠 Mở

cd auth0-react-sample
70 và cập nhật nó như sau

npm install
9

Trong khi SDK đang tải, thành phần

cd auth0-react-sample
71, có hoạt ảnh thú vị, hiển thị

Truy xuất thông tin người dùng

Sau khi người dùng đăng nhập thành công, Auth0 sẽ gửi mã thông báo ID đến ứng dụng React của bạn. Các hệ thống xác thực, chẳng hạn như Auth0, sử dụng Mã thông báo ID trong xác thực dựa trên mã thông báo để lưu trữ thông tin hồ sơ người dùng và cung cấp thông tin đó cho ứng dụng khách. Bộ nhớ đệm của mã thông báo ID có thể góp phần cải thiện hiệu suất và khả năng phản hồi cho ứng dụng React của bạn

Bạn có thể sử dụng dữ liệu từ mã thông báo ID để cá nhân hóa giao diện người dùng của ứng dụng React của mình. Auth0 React SDK giải mã mã thông báo ID và lưu trữ dữ liệu của nó trong đối tượng

cd auth0-react-sample
72 được hiển thị bởi
http://localhost:4040
90. Một số thông tin mã thông báo ID bao gồm tên, biệt hiệu, ảnh và email của người dùng đã đăng nhập

Làm cách nào bạn có thể sử dụng mã thông báo ID để tạo trang hồ sơ cho người dùng của mình?

🛠 Cập nhật thành phần

cd auth0-react-sample
74 trong
cd auth0-react-sample
75 như sau

Auth0 React Sample
0

Điều gì đang xảy ra trong thành phần

cd auth0-react-sample
74?

  • Bạn hủy cấu trúc đối tượng

    cd auth0-react-sample
    72 để có được người dùng
    cd auth0-react-sample
    78,
    cd auth0-react-sample
    79 và
    cd auth0-react-sample
    80

  • Sau đó, bạn hiển thị ba thuộc tính này trong giao diện người dùng. Vì dữ liệu đến từ một đối tượng đơn giản nên bạn không phải tìm nạp nó bằng bất kỳ lệnh gọi không đồng bộ nào

  • Cuối cùng, bạn hiển thị toàn bộ nội dung của mã thông báo ID đã giải mã trong hộp mã. Bây giờ bạn có thể thấy tất cả các thuộc tính khác có sẵn để bạn sử dụng

Thành phần

cd auth0-react-sample
74 hiển thị thông tin người dùng mà bạn có thể coi là được bảo vệ. Ngoài ra, thuộc tính
cd auth0-react-sample
72 là
cd auth0-react-sample
83 nếu không có người dùng đăng nhập. Vì vậy, dù bằng cách nào, thành phần này chỉ hiển thị nếu Auth0 đã xác thực người dùng

Như vậy, bạn nên bảo vệ tuyến đường hiển thị thành phần này,

cd auth0-react-sample
84. Bạn sẽ học cách làm điều đó trong phần tiếp theo

Bảo vệ tuyến đường

Auth0 React SDK hiển thị Thành phần bậc cao hơn (HOC)

cd auth0-react-sample
85 mà bạn có thể sử dụng để bảo vệ các tuyến đường. Bạn cũng có thể sử dụng
cd auth0-react-sample
85 để tạo thành phần
cd auth0-react-sample
87 để bảo vệ các tuyến theo cách khai báo hơn bằng React Router

Sử dụng Thành phần bậc cao hơn để bảo vệ tuyến đường

🛠 Mở

cd auth0-react-sample
75 và cập nhật như sau

Auth0 React Sample
1

Khi bạn bọc các thành phần của mình trong Thành phần có thứ tự cao hơn

cd auth0-react-sample
85 và người dùng chưa đăng nhập truy cập trang hiển thị thành phần đó, ứng dụng React của bạn sẽ chuyển hướng người dùng đó đến trang đăng nhập. Sau khi người dùng đăng nhập, Auth0 sẽ chuyển hướng người dùng đến ứng dụng React của bạn và
http://localhost:4040
91 sẽ đưa người dùng đến trang họ dự định truy cập trước khi đăng nhập

cd auth0-react-sample
85 lấy các đối số sau

  • Thành phần mà bạn muốn bảo vệ

  • Một đối tượng cấu hình để tùy chỉnh luồng xác thực,

    cd auth0-react-sample
    92. Đối tượng này có các thuộc tính tùy chọn sau

    • cd auth0-react-sample
      93. Nó hoạt động chính xác như các tùy chọn cấu hình mà bạn có thể chuyển đến
      cd auth0-react-sample
      08 để tùy chỉnh trải nghiệm đăng nhập

    • cd auth0-react-sample
      29. Cho phép bạn chỉ định đường dẫn để React chuyển hướng người dùng sau khi giao dịch đăng nhập mà người dùng đã kích hoạt trong thành phần này hoàn tất

    • cd auth0-react-sample
      96. Nó kết xuất một thành phần trong khi ứng dụng React của bạn chuyển hướng người dùng đến trang đăng nhập

Trong ví dụ trên, những người dùng chưa đăng nhập sẽ thấy thành phần

cd auth0-react-sample
71 ngay khi họ đến tuyến đường
cd auth0-react-sample
98

Auth0 React Sample
2

Thành phần

cd auth0-react-sample
96 cải thiện trải nghiệm người dùng bằng cách tránh mọi nhấp nháy của các thành phần giao diện người dùng hỗn hợp (các thành phần được bảo vệ và công khai)

🛠 Hãy thử cái này. Đăng xuất và truy cập

cd auth0-react-sample
84. Ứng dụng React của bạn sẽ chuyển hướng bạn đến trang Đăng nhập toàn cục Auth0

Nếu bạn đang sử dụng React Router thì sao?

Sử dụng

cd auth0-react-sample
85 để bọc thành phần trực tiếp không phải là cách khai báo nhất để xây dựng ứng dụng React. Nếu bạn nhìn vào các route được xác định trong thành phần
http://localhost:4040
93, bạn sẽ không thể biết route nào được bảo vệ và route nào là public

Auth0 React Sample
3

🛠 Thay vì sử dụng trực tiếp

cd auth0-react-sample
85, bạn có thể bọc nó trong một thành phần
cd auth0-react-sample
87 để tận dụng các tính năng của React Router

Tạo một thành phần để bảo vệ đường dẫn React Router

Ứng dụng khởi động sử dụng React Router làm thư viện định tuyến của nó. Ví dụ này chỉ áp dụng cho thư viện đó

Trong phần này, bạn sẽ tạo một thành phần

cd auth0-react-sample
87 sử dụng thành phần
npm install
06 từ React Router để hiển thị Thành phần bậc cao hơn
cd auth0-react-sample
85. Ưu điểm của phương pháp này là
cd auth0-react-sample
87 của bạn sẽ có cùng API với thành phần
npm install
06 sẵn dùng. Như vậy, bạn có thể soạn
cd auth0-react-sample
87 với các thành phần React Router khác một cách hữu cơ

🛠 Để bắt đầu, hãy tạo tệp

npm install
11 trong thư mục
http://localhost:4040
16

Auth0 React Sample
4

🛠 Điền vào

npm install
13 như sau

Auth0 React Sample
5

🛠 Cuối cùng, mở tệp

cd auth0-react-sample
70. Xác định vị trí thành phần
npm install
15 và thay đổi thành phần
npm install
06 cho đường dẫn
cd auth0-react-sample
98 và
npm install
18 thành thành phần
cd auth0-react-sample
87

Auth0 React Sample
6

Bạn không cần sử dụng trực tiếp

cd auth0-react-sample
85 HOC trong thành phần
cd auth0-react-sample
74 nữa

🛠 Mở

cd auth0-react-sample
75 và hoàn nguyên tệp về nội dung trước đó

Auth0 React Sample
0

🛠 Bây giờ bạn có thể kiểm tra xem hai đường dẫn này có yêu cầu người dùng đăng nhập trước khi họ có thể truy cập chúng không. Đăng xuất và thử truy cập trang Hồ sơ hoặc API bên ngoài. Nếu nó hoạt động, React sẽ chuyển hướng bạn đăng nhập bằng Auth0

Bộ bảo vệ phía máy khách cải thiện trải nghiệm người dùng cho ứng dụng React của bạn chứ không phải tính bảo mật của nó

Trong Security StackExchange, Conor Mancone giải thích rằng các bộ bảo vệ phía máy chủ là để bảo vệ dữ liệu trong khi các bộ bảo vệ phía máy khách là để cải thiện trải nghiệm người dùng

Những điểm chính từ phản ứng của anh ấy là

  • Bạn không thể dựa vào các hạn chế phía máy khách, chẳng hạn như bộ bảo vệ điều hướng và tuyến đường được bảo vệ, để bảo vệ thông tin nhạy cảm
    • Những kẻ tấn công có khả năng vượt qua các hạn chế phía máy khách
  • Máy chủ của bạn không được trả lại bất kỳ dữ liệu nào mà người dùng không được truy cập
    • Trả lại tất cả dữ liệu người dùng từ máy chủ và để khung giao diện người dùng quyết định nội dung hiển thị và nội dung ẩn dựa trên trạng thái xác thực người dùng là cách tiếp cận sai
    • Bất kỳ ai cũng có thể mở công cụ dành cho nhà phát triển của trình duyệt và kiểm tra các yêu cầu mạng để xem tất cả dữ liệu
  • Việc sử dụng bộ bảo vệ điều hướng giúp cải thiện trải nghiệm người dùng chứ không phải bảo mật người dùng. - Không có bảo vệ, người dùng chưa đăng nhập có thể đi lang thang vào một trang có thông tin bị hạn chế và gặp lỗi, chẳng hạn như "Quyền truy cập bị từ chối". - Với các bộ bảo vệ phù hợp với quyền của máy chủ, bạn có thể ngăn người dùng nhìn thấy lỗi bằng cách ngăn họ truy cập trang bị hạn chế

Bạn muốn sử dụng chiến lược bảo vệ route nào trong các ứng dụng React của mình?

Gọi một API

Phần này tập trung vào việc chỉ cho bạn cách nhận mã thông báo truy cập trong ứng dụng React của bạn và cách sử dụng nó để thực hiện lệnh gọi API đến các điểm cuối API được bảo vệ

Khi bạn sử dụng Auth0, bạn ủy thác quá trình xác thực cho một dịch vụ tập trung. Auth0 cung cấp cho bạn chức năng đăng nhập và đăng xuất người dùng khỏi ứng dụng React của bạn. Tuy nhiên, ứng dụng của bạn có thể cần truy cập các tài nguyên được bảo vệ từ API

Bạn cũng có thể bảo vệ API bằng Auth0. Có nhiều khởi động nhanh API để giúp bạn tích hợp Auth0 với nền tảng phụ trợ của mình

Khi bạn sử dụng Auth0 để bảo vệ API của mình, bạn cũng ủy thác quy trình ủy quyền cho một dịch vụ tập trung để đảm bảo chỉ những ứng dụng khách được phê duyệt mới có thể thay mặt người dùng truy cập các tài nguyên được bảo vệ

Làm cách nào bạn có thể thực hiện lệnh gọi API an toàn từ React?

Ứng dụng React của bạn xác thực người dùng và nhận mã thông báo truy cập từ Auth0. Sau đó, ứng dụng có thể chuyển mã thông báo truy cập đó tới API của bạn dưới dạng thông tin xác thực. Đổi lại, API của bạn có thể sử dụng các thư viện Auth0 để xác minh mã thông báo truy cập mà nó nhận được từ ứng dụng gọi điện và đưa ra phản hồi với dữ liệu mong muốn

Thay vì tạo API từ đầu để kiểm tra luồng xác thực và ủy quyền giữa máy khách và máy chủ, bạn sẽ sử dụng API Express demo mà tôi đã chuẩn bị cho bạn

Nhận bản trình diễn API Express

🛠 Mở một cửa sổ terminal mới và sao chép kho lưu trữ

npm install
25 vào một nơi nào đó trong hệ thống của bạn. Đảm bảo rằng bạn sao chép nó bên ngoài thư mục dự án React của bạn

Auth0 React Sample
8

🛠 Sau khi bạn sao chép repo này, hãy đặt thư mục

npm install
25 làm thư mục hiện tại của bạn

Auth0 React Sample
9

🛠 Cài đặt nút. phụ thuộc dự án js

________số 8

Kết nối API Express với Auth0

Tạo cầu nối giao tiếp giữa Express và Auth0

Quá trình này tương tự như cách bạn kết nối React với Auth0

🛠 Chuyển đến phần API trong Bảng điều khiển Auth0 và nhấp vào nút "Tạo API"

🛠 Sau đó, ở dạng mà Auth0 hiển thị

  • Thêm tên vào API của bạn
http://localhost:4040
1
  • Đặt giá trị Mã định danh của nó
http://localhost:4040
2
  • Để lại thuật toán ký là
    npm install
    27 vì đây là tùy chọn tốt nhất từ ​​​​quan điểm bảo mật

Nodejs mã hóa đầu cuối

Số nhận dạng là các chuỗi duy nhất giúp Auth0 phân biệt giữa các API khác nhau của bạn. Chúng tôi khuyên bạn nên sử dụng URL để tạo điều kiện thuận lợi cho việc tạo số nhận dạng duy nhất có thể dự đoán được;

🛠 Với những giá trị này, hãy nhấn nút "Tạo". Giữ trang này mở vì bạn sẽ cần một số giá trị của nó trong phần tiếp theo

Thêm các biến cấu hình Auth0 vào Express

🛠 Tạo tệp

http://localhost:4040
2 cho Máy chủ API trong thư mục
npm install
25

http://localhost:4040
9

🛠 Điền vào tệp

npm install
30 này như sau

http://localhost:4040
4

🛠 Quay lại trang API Auth0 của bạn và làm theo các bước sau để nhận Đối tượng Auth0

Nodejs mã hóa đầu cuối

  1. 🛠 Nhấp vào tab "Cài đặt"

  2. 🛠 Xác định vị trí trường "Số nhận dạng" và sao chép giá trị của nó

  3. 🛠 Dán giá trị "Mã định danh" làm giá trị của

    npm install
    31 trong
    http://localhost:4040
    2

Bây giờ, hãy làm theo các bước sau để nhận giá trị Tên miền Auth0

Nodejs mã hóa đầu cuối

  1. 🛠 Nhấp vào tab "Kiểm tra"
  2. 🛠 Tìm phần có tên "Hỏi Auth0 về mã thông báo từ ứng dụng của tôi"
  3. 🛠 Nhấp vào tab cURL để hiển thị yêu cầu
    npm install
    33 giả
  4. 🛠 Sao chép miền Auth0 của bạn, đây là một phần của giá trị tham số
    npm install
    34.
    npm install
    35
  5. 🛠 Dán giá trị miền Auth0 làm giá trị của
    npm install
    36 trong
    http://localhost:4040
    2
Mẹo lấy tên miền Auth0
  • Tên miền Auth0 là chuỗi con giữa giao thức,

    npm install
    38 và đường dẫn
    npm install
    39

  • Tên miền Auth0 tuân theo mẫu này.

    npm install
    35

  • Tên miền phụ

    npm install
    41 (
    npm install
    42,
    npm install
    43 hoặc
    npm install
    44) là tùy chọn. Một số tên miền Auth0 không có nó

  • Vui lòng nhấp vào hình ảnh ở trên, nếu bạn có bất kỳ nghi ngờ nào về cách lấy giá trị Tên miền Auth0

🛠 Với các giá trị cấu hình

http://localhost:4040
2 đã đặt, hãy chạy máy chủ API bằng cách đưa ra lệnh sau

cd auth0-react-sample
6

Cấu hình React để kết nối với Express API

🛠 Quay trở lại thư mục dự án

http://localhost:4040
4 lưu trữ ứng dụng React của bạn

🛠 Xác định vị trí tệp

npm install
47 và thêm các giá trị URL Máy chủ và Đối tượng Auth0 của bạn vào đó

http://localhost:4040
6

🛠 Giá trị của

npm install
48 giống như
npm install
31 từ
npm install
30

Tại sao tất cả các biến trong tệp React
http://localhost:4040
2 bắt đầu bằng
npm install
52?

http://localhost:4040
3 yêu cầu bạn tạo các biến môi trường tùy chỉnh bắt đầu bằng
npm install
52 khi sử dụng tệp
http://localhost:4040
2.
http://localhost:4040
3 sẽ bỏ qua bất kỳ biến nào khác ngoại trừ
npm install
57

Tiền tố

npm install
52 giảm thiểu nguy cơ vô tình để lộ khóa riêng từ máy của bạn, khóa này có thể trùng tên với một biến từ tệp
http://localhost:4040
2

Ứng dụng React của bạn cần chuyển mã thông báo truy cập khi nó gọi API mục tiêu để truy cập các tài nguyên được bảo vệ. Bạn có thể yêu cầu mã thông báo truy cập ở định dạng mà API có thể xác minh bằng cách chuyển đối tượng và phạm vi đạo cụ tới

http://localhost:4040
91

Bất kỳ thay đổi nào bạn thực hiện đối với các biến môi trường React đều yêu cầu bạn khởi động lại máy chủ phát triển nếu nó đang chạy

🛠 Khởi động lại ứng dụng React của bạn để nó có thể sử dụng các giá trị mới mà bạn đã đặt trong

npm install
47

🛠 Cập nhật tệp

http://localhost:4040
15 trong thư mục
npm install
63 để thêm giá trị
npm install
64

http://localhost:4040
7

Tại sao giá trị Đối tượng Auth0 giống nhau cho cả hai ứng dụng? . Nó giống như một số điện thoại. Bạn muốn đảm bảo rằng ứng dụng React của bạn "gửi đúng API"

Các hành động mà ứng dụng React của bạn có thể thực hiện trên API tùy thuộc vào phạm vi mà mã thông báo truy cập của bạn chứa, mà bạn xác định là giá trị của props

npm install
66 trong
http://localhost:4040
91

Hãy nhớ rằng màn hình mà bạn đã thấy khi đăng nhập lần đầu bằng Auth0 yêu cầu bạn cho phép truy cập thông tin hồ sơ của mình? . Bạn có thể đã thấy điều gì đó tương tự khi chia sẻ danh bạ hoặc ảnh của mình từ nền tảng truyền thông xã hội với ứng dụng của bên thứ ba

Khi bạn không chuyển một prop

npm install
66 cho
http://localhost:4040
91 như trong ví dụ trên, SDK React sẽ mặc định là OpenID Connect Scopes.
npm install
70

  • npm install
    71. Phạm vi này thông báo cho Máy chủ ủy quyền Auth0 rằng Máy khách đang thực hiện yêu cầu Kết nối OpenID (OIDC) để xác minh danh tính của người dùng. OpenID Connect là một giao thức xác thực

  • npm install
    72. Giá trị phạm vi này yêu cầu quyền truy cập vào thông tin hồ sơ mặc định của người dùng, chẳng hạn như
    cd auth0-react-sample
    78,
    npm install
    74 và
    cd auth0-react-sample
    79

  • cd auth0-react-sample
    80. Giá trị phạm vi này yêu cầu quyền truy cập vào thông tin
    cd auth0-react-sample
    80 và
    npm install
    78

Chi tiết về Phạm vi kết nối OpenID đi vào Mã thông báo ID. Tuy nhiên, bạn có thể xác định phạm vi API tùy chỉnh để triển khai kiểm soát truy cập. Bạn sẽ xác định các phạm vi tùy chỉnh đó trong các cuộc gọi mà ứng dụng khách của bạn thực hiện với API đó. Auth0 bao gồm các phạm vi API trong mã thông báo truy cập dưới dạng giá trị xác nhận quyền sở hữu

npm install
66

Các khái niệm về phạm vi hoặc quyền API được trình bày tốt hơn trong hướng dẫn API Auth0, chẳng hạn như "Sử dụng TypeScript để tạo API bảo mật bằng nút. js và Express. Kiểm soát truy cập dựa trên vai trò"

🛠 Cập nhật

npm install
80 như sau

http://localhost:4040
8

Điều gì đang xảy ra trong thành phần

npm install
81?

  • Bạn thêm phương thức

    npm install
    82 thực hiện yêu cầu API công khai

  • Bạn thêm phương thức

    npm install
    83 thực hiện yêu cầu API an toàn như sau

    • (a) Nhận mã thông báo truy cập từ Auth0 bằng phương pháp

      npm install
      84, phương pháp này giúp ứng dụng React của bạn nhận mã thông báo truy cập mới mà không yêu cầu người dùng đăng nhập lại

    • (b) Chuyển mã thông báo truy cập đó dưới dạng thông tin xác thực người mang trong tiêu đề ủy quyền của yêu cầu

  • Bạn sử dụng móc phản ứng

    npm install
    85 để cập nhật giao diện người dùng bất cứ khi nào bất kỳ lệnh gọi API nào được mô tả hoàn thành thành công

Yêu cầu đăng nhập trước đó của bạn không bao gồm thông số đối tượng. Như vậy, React SDK không có mã thông báo truy cập được lưu trữ trong bộ nhớ

Bạn không nên lưu trữ mã thông báo trong
npm install
86. Tại sao?

Lưu trữ mã thông báo trong bộ nhớ cục bộ của trình duyệt mang lại sự bền bỉ trong các lần làm mới trang và tab trình duyệt, tuy nhiên, nếu kẻ tấn công có thể chạy JavaScript trong Ứng dụng một trang (SPA) bằng cách sử dụng tấn công tập lệnh chéo trang (XSS), thì chúng có thể truy xuất mã thông báo được lưu trữ trong bộ nhớ cục bộ.

Lỗ hổng dẫn đến một cuộc tấn công XSS thành công có thể nằm trong mã nguồn SPA hoặc trong bất kỳ mã JavaScript của bên thứ ba nào có trong SPA, chẳng hạn như Bootstrap, jQuery hoặc Google Analytics

🛠 Đăng xuất và đăng nhập lại để nhận mã thông báo truy cập mới từ Auth0 bao gồm thông tin đối tượng

🛠 Truy cập

npm install
87 và nhấp vào bất kỳ nút nào trên trang API bên ngoài để kiểm tra phản hồi

Nhận tin nhắn công khai

http://localhost:4040
9

Nhận tin nhắn được bảo vệ

http://localhost:4040
0

Phần kết luận

Bạn đã triển khai xác thực người dùng trong React để xác định người dùng của mình, lấy thông tin hồ sơ người dùng và kiểm soát nội dung mà người dùng của bạn có thể truy cập bằng cách bảo vệ các tuyến đường và tài nguyên API

Hướng dẫn này đề cập đến trường hợp sử dụng xác thực phổ biến nhất cho ứng dụng React. đăng nhập và đăng xuất đơn giản. Tuy nhiên, Auth0 là một nền tảng có thể mở rộng và linh hoạt có thể giúp bạn đạt được nhiều hơn nữa. Nếu bạn có trường hợp sử dụng phức tạp hơn, hãy xem Kịch bản kiến ​​trúc Auth0 để tìm hiểu thêm về các kịch bản kiến ​​trúc điển hình mà chúng tôi đã xác định khi làm việc với khách hàng về triển khai Auth0

Trong hướng dẫn tiếp theo, chúng tôi sẽ đề cập đến các mẫu và công cụ xác thực nâng cao, chẳng hạn như sử dụng cửa sổ bật lên thay vì chuyển hướng để người dùng đăng nhập, thêm quyền vào mã thông báo ID, sử dụng siêu dữ liệu để cải thiện hồ sơ người dùng và hơn thế nữa

Hãy cho tôi biết trong phần bình luận bên dưới suy nghĩ của bạn về hướng dẫn này. Cảm ơn bạn đã đọc và theo dõi, xin vui lòng