multi-oauth2-nodejs
v1.5.0
Published
Facebook/Google OAuth2 service written in TypeScript
Maintainers
Readme
🧩 multi-oauth2-nodejs
Facebook / Google OAuth2 service được viết bằng TypeScript — dùng đơn giản cho bất kỳ ứng dụng Node.js hoặc Express nào.🚀 Giới thiệu
- Thư viện này giúp bạn tích hợp đăng nhập OAuth2 với Google và Facebook một cách nhanh chóng. Nó cung cấp các service sẵn sàng để gọi API xác thực người dùng, và trả về thông tin cơ bản (id, email, name, picture).
📦 Cài đặt
npm install multi-oauth2-nodejs🧠 Cấu trúc cơ bản
- Sau khi cài đặt, bạn có thể tạo OAuth2 service cho từng nền tảng như sau:
import express from "express";
import OAuth2Factory, { OAuth2Service } from "multi-oauth2-nodejs/index.js";
const app = express();
app.use(express.json());
// Tạo 2 service OAuth2 cho Google và Facebook
const googleOAuth2Service: OAuth2Service = OAuth2Factory.createService("google", {
clientId: "GOOGLE_CLIENT_ID",
clientSecret: "GOOGLE_CLIENT_SECRET",
redirectUri: "http://localhost:3000/verify/google",
});
const fbOAuth2Service: OAuth2Service = OAuth2Factory.createService("facebook", {
clientId: "FACEBOOK_CLIENT_ID",
clientSecret: "FACEBOOK_CLIENT_SECRET",
redirectUri: "http://localhost:3000/verify/facebook",
});
// ==== ROUTES ====
// Lấy URL để người dùng truy cập vào Facebook login
app.get("/auth/facebook/verify-uri", (req, res) => {
res.json({
uri: fbOAuth2Service.getAuthorizationUrl(),
});
});
// Callback từ Facebook trả về sau khi người dùng đồng ý đăng nhập
app.get("/verify/facebook", async (req, res) => {
const code = req.query.code as string;
const user = await fbOAuth2Service.getUserDetails(code);
res.json(user);
});
// Lấy URL để người dùng truy cập vào Google login
app.get("/auth/google/verify-uri", (req, res) => {
res.json({
uri: googleOAuth2Service.getAuthorizationUrl(),
});
});
// Callback từ Google trả về
app.get("/verify/google", async (req, res) => {
const code = req.query.code as string;
const user = await googleOAuth2Service.getUserDetails(code);
res.json(user);
});
app.listen(3000, () => {
console.log("✅ Server is running on http://localhost:3000");
});
⚙️ Cấu hình OAuth2
Để sử dụng được, bạn cần đăng ký ứng dụng của bạn trong:
- Google Cloud Console
- Meta for Developers (Facebook)
Và lấy:
- client_id
- client_secret
- redirect_uri
📘 Ví dụ phản hồi từ API /verify/google
{
"id": "114567834567890",
"email": "[email protected]",
"name": "John Doe",
"picture": "https://lh3.googleusercontent.com/a-/AOh14Ggk...."
}👤 Tác giả
- dungtna.04
