This library simplifies OAuth2.0 Authorization for social login integration, allowing developers to easily authenticate users through popular social platforms like Google, Facebook, GitHub, Discord.
npm install fusion-authThis library simplifies OAuth2.0 Authorization for social login integration, allowing developers to easily authenticate users through popular social platforms like Google, Facebook, GitHub, Discord.
``bash`
$ pnpm i fusion-auth
#### Integrate with Google
`bash
import { OauthProviderFactory, OAuthProviderType, IOauthUserInfo, IProviderCredential } from 'fusion-auth';
const googleOauthConfig: IProviderCredential = {
clientId: process.env.CLIENT_ID || '',
clientSecret: process.env.CLIENT_SECRET || '',
redirectUri: process.env.REDIRECT_URI || '',
};
const responseCode = ''
try {
const googleProvider = OauthProviderFactory.createProvider(
googleOauthConfig,
OAuthProviderType.GOOGLE
);
const googleUserInfo:IOauthUserInfo = await googleProvider.verifyCode(responseCode);
console.log({googleUserInfo})
} catch (error) {
throw error;
}
`
`bash
import { OauthProviderFactory, OAuthProviderType, IOauthUserInfo, IProviderCredential } from 'fusion-auth';
const facebookOauthConfig: IProviderCredential = {
clientId: process.env.CLIENT_ID || '',
clientSecret: process.env.CLIENT_SECRET || '',
redirectUri: process.env.REDIRECT_URI || '',
};
const responseCode = ''
try {
const facebookProvider: IProviderCredential= OauthProviderFactory.createProvider(
facebookOauthConfig,
OAuthProviderType.FACEBOOK
);
const facebookUserInfo: IOauthUserInfo = await facebookProvider.verifyCode(
responseCode
);
console.log({ facebookUserInfo });
} catch (error) {
throw error;
}
`
`bash
import { OauthProviderFactory, OAuthProviderType, IOauthUserInfo, IProviderCredential } from 'fusion-auth';
const githubOauthConfig: IProviderCredential = {
clientId: process.env.CLIENT_ID || '',
clientSecret: process.env.CLIENT_SECRET || '',
redirectUri: process.env.REDIRECT_URI || '',
};
const responseCode = ''
try {
const githubProvider = OauthProviderFactory.createProvider(
oauthConfig,
OAuthProviderType.GITHUB
);
const githubUserInfo: IOauthUserInfo = await githubProvider.verifyCode(
responseCode
);
console.log({ githubUserInfo });
} catch (error) {
throw error;
}
`
bash
import { OauthProviderFactory, OAuthProviderType, IOauthUserInfo, IProviderCredential } from 'fusion-auth';const discordOauthConfig: IProviderCredential = {
clientId: process.env.CLIENT_ID || '',
clientSecret: process.env.CLIENT_SECRET || '',
redirectUri: process.env.REDIRECT_URI || '',
};
const responseCode = ''
try {
const discordProvider = OauthProviderFactory.createProvider(
oauthConfig,
OAuthProviderType.DISCORD
);
const discordUserInfo: IOauthUserInfo = await discordProvider.verifyCode(
responseCode
);
console.log({ discordUserInfo });
} catch (error) {
throw error;
}
``Contributions are welcome! Please open a pull request if you have any enhancements for this library.
Mail: phanvanhoainam22@gmail.com
LinkedIn: https://www.linkedin.com/in/namphan-jasper/