0
0
Lập trình
Admin Team
Admin Teamtechmely

Hướng Dẫn Triển Khai Đăng Nhập Google One Tap Trong Next.js 14 và Nest.js

Đăng vào 2 tuần trước

• 2 phút đọc

Đăng Nhập Google One Tap: Cải Thiện Trải Nghiệm Người Dùng Trong Ứng Dụng

Google One Tap là một công nghệ cho phép người dùng xác thực nhanh chóng chỉ bằng một nút nhấn trên ứng dụng của bạn, sử dụng tài khoản Google. Bài viết này sẽ hướng dẫn bạn cách triển khai tính năng đăng nhập One Tap của Google trong Next.js 14, với backend sử dụng Nest.js mà không cần bất kỳ thư viện bên ngoài nào.

Giới Thiệu

Gần đây, nhóm phát triển của chúng tôi đã tích hợp chức năng đăng nhập One Tap của Google vào ứng dụng Homeei nhằm nâng cao trải nghiệm người dùng. Đây là cơ hội tuyệt vời để chia sẻ cách bạn có thể thực hiện điều tương tự.

Chuẩn Bị

Trước khi bắt đầu, bạn cần đăng ký tài khoản Google Developer và lấy CLIENT_ID cùng CLIENT_SECRET. Bạn có thể tham khảo hướng dẫn chi tiết tại Google Developer. Hãy lưu lại thông tin này để sử dụng trong các bước tiếp theo.

Cài Đặt Project Next.js

Đầu tiên, hãy tạo một project mới bằng công cụ create-next-app:

Copy
npx create-next-app@latest

Tiến hành cấu hình project theo hướng dẫn, chọn các tùy chọn như ESLint, Tailwind CSS, và App Router theo nhu cầu của bạn. Sau khi cài đặt thành công, hãy tạo một file .env để lưu thông tin của Google Identity với nội dung:

Copy
NEXT_PUBLIC_BACKEND_URL=http://localhost:6001/rs/v1 
NEXT_PUBLIC_GOOGLE_OAUTH_CLIENT_ID=xxxx-xxxxx.apps.googleusercontent.com

Thêm đoạn script của Google vào file layout.tsx:

Copy
<html lang="en" suppressHydrationWarning>
    <head>
        <AdSense/>
    </head>
    <body>
    {children}
    <Script src="https://accounts.google.com/gsi/client" strategy="beforeInteractive" />
    </body>
</html>

Tiếp theo, tạo file GoogleOneTapLogin.tsx trong thư mục components với nội dung chi tiết, bao gồm các đoạn mã cho việc xử lý đăng nhập và kết nối với backend.

Cài Đặt Project Nest.js

Khởi tạo ứng dụng bằng Nest.js với lệnh sau:

Copy
npm install -g @nestjs/cli
nest new news-app

Tạo module xác thực và cài đặt các thư viện cần thiết:

Copy
nest g module auth
nest g controller auth
nest g service auth
npm install --save @nestjs/jwt @nestjs/passport passport passport-jwt passport-google-one-tap

Xây Dựng Chức Năng Xác Thực

Tạo file guard và strategy cho Google One Tap, giúp thực hiện xác thực hiệu quả. Trong file controller, thực hiện endpoint cho việc xác thực người dùng bằng Google One Tap. Đảm bảo bạn đã cấu hình môi trường và các thành phần xác thực cần thiết.

Xử Lý Giao Tiếp Giữa Frontend và Backend

Trong file GoogleOneTapLogin.tsx, điều chỉnh đoạn mã để liên kết với backend và xử lý phản hồi từ máy chủ. Lưu lại token sau khi đăng nhập thành công.

Cảm ơn bạn đã theo dõi bài viết! Nếu bạn thấy thông tin hữu ích, hãy để lại một upvote cho chúng tôi. Bạn cũng có thể trải nghiệm ứng dụng tại Homeei để ủng hộ nhóm phát triển của chúng tôi.

Lưu ý: Nếu cửa sổ pop-up One Tap không xuất hiện, hãy kiểm tra cài đặt "Third-party sign-in" trên trình duyệt của bạn. Truy cập vào chrome://settings/content/federatedIdentityApi để điều chỉnh cài đặt.

Tài Liệu Tham Khảo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào