jetoauth
v1.0.1
Published
Middleware for express that facilitates the implementation of multi-provider login functions using OAuth2.0.
Readme
Support Providers
| Service | Developer Link | Document URL |
| --- | --- | --- |
| Google | Google Cloud Console | Google OAuth2.0 Document |
|
Facebook | Facebook Developers | Facebook API Document
|
Twitter | Twitter Developer | Twitter API Document |
|
Microsoft | Azure | Microsoft OAuth2.0 Document |
|
YahooJapan | Yahooデベロッパーネットワーク | YahooJapan API Document |
|
PayPal | PayPal Developer | PayPal Auth document |
|
GitHub | GitHub Apps | GitHub API Document |
|
LINE | LINE Developer | LINE API Document |
|
Discord | Discord Developer | Discord API Document |
|
Reddit | Reddit developer application | Reddit API Document |
|
Imgur | Imgur API | Imgur OAuth Document |
Requirements
Installation
Install via npm
npm install jetoauthInstall via yarn
yarn add jetoauthInstall via pnpm
pnpm add jetoauthExample Usage
const express = require("express");
const jetOauth = require("jetoauth");
const cookieParser = require("cookie-parser");
const app = express();
app.use(cookieParser("jetOauth"));
app.use(
jetOauth({
providers: {
discord: {
client_id: process.env.discord_client_id,
client_secret: process.env.discord_client_secret,
scope: ["identify"],
},
},
})
);
app.get("/info", (req, res) => {
if (!req.jetOauth.isLogin) {
res.send();
} else {
const obj = {};
req.jetOauth.session.forEach((value, key) => {
obj[key] = value;
});
res.json(obj);
}
});
app.get("/login", (req, res) => {
req.jetOauth.login("discord");
});
app.get("/jetoauth/success", (req, res) => {
res.send("login success");
});
app.get("/jetoauth/fail", (req, res) => {
res.send("failed to login");
});
app.listen(3000, () => {
console.log("server is running on port 3000");
});Login URL
https://{your domain}/jetoauth/login/{provider}Callback URL
https://{your domain}/jetoauth/callback/{provider}