worker-auth-providers v0.0.14-beta.10
π Demo
π§ Features
- Open Source
- Fast & Lightweight
- Easy
π οΈ Installation
Step 1: Install the dependencies
npm install worker-auth-providers
Step 2: Import the dependencies
import {
github, google,
twilio, facebook, discord,
spotify
} from "worker-auth-providers";
Step 3: Redirect users
const githubLoginUrl = await github.redirect({
options: {
clientId,
},
});
return {
status: 302,
headers: {
location: githubLoginUrl,
},
};
// or send otp
const res = await awsSNS.send({
options: {
phone,
region: 'ap-south-1',
kvProvider: WORKER_AUTH_PROVIDERS_STORE,
},
})
Step 4: Get user
const { user: providerUser, tokens } = await github.users({
options: { clientSecret, clientId },
request,
});
console.log("[providerUser]", providerUser);
// or verify otp
const res = await awsSNS.verify({
options: {
phone,
otp,
kvProvider: WORKER_AUTH_PROVIDERS_STORE,
secret: 'eyJhbGciOiJIUzI1NiJ9.ew0KICAic3ViIjogIjE2Mjc4MTE1MDEiLA0KICAibmFtZSI6ICJoYWFsLmluIiwNCiAgImlhdCI6ICIwMTA4MjAyMCINCn0.aNr18szvBz3Db3HAsJ-2KHYbnnHwHfK65CiZ_AWwpc0',
},
})
π Documentation
Coming soon
π©βπ» Tech
π° Contributing
Contributions are always welcome! See contributing.md for ways to get started. Please adhere to this project's code of conduct.
Roadmap
- Docs.
- Apple.
- Azure (Microsoft)
- Google.
- Github
- OTP Twilio
- Mailgun Email
- Sendgrid Email
- Discord
- Amazon
- Spotify
- Auth0
##FAQs
How to persist login?
Use cookie. Setting a cookie to indicate that theyβre authorized for future requests
const cookieKey = "worker-auth-providers"
const persistAuth = async exchange => {
const date = new Date() date.setDate(date.getDate() + 1)
const headers = {
Location: "/",
"Set-cookie": `${cookieKey}=${id}; Secure; HttpOnly; SameSite=Lax; Expires=${date.toUTCString()}`,
}
return { headers, status: 302 }
}
How to logout?
Easy, delete the cookie
export const logout = event => {
const cookieHeader = event.request.headers.get('Cookie')
if (cookieHeader && cookieHeader.includes(cookieKey)) {
return {
headers: {
'Set-cookie': `${cookieKey}=""; HttpOnly; Secure; SameSite=Lax;`,
},
}
}
return {}
}
Feedback
If you have any feedback, please reach out to me at subhendukundu14@gmail.com
βοΈ Authors
πΌ License
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago