npm install sso-clients
OR
yarn add sso-clients
import { GoogleOAuth2 } from "sso-clients";
const googleOAuth = new GoogleOAuth2(
"YOUR_GOOGLE_CLIENT_ID",
"YOUR_GOOGLE_CLIENT_SECRET",
"YOUR_CALLBACK_URL",
["email", "profile", "openid"],
);
import { GithubOAuth2 } from "sso-clients";
const githubOAuth = new GithubOAuth2(
"YOUR_GITHUB_CLIENT_ID",
"YOUR_GITHUB_CLIENT_SECRET",
"YOUR_CALLBACK_URL",
['user:email']
);
import { Auth0OAuth2 } from "sso-clients";
const auth0OAuth = new Auth0OAuth2(
"YOUR_AUTH0_CLIENT_ID",
"YOUR_AUTH0_CLIENT_SECRET",
"YOUR_CALLBACK_URL",
"YOUR_AUTH0_DOMAIN",
["openid", "profile", "email", "offline_access"],
);
-
getName(): string
: Returns the name of the provider. -
getLoginURL(): string
: Returns the URL for provider login. -
getTokens(code: string): Promise<Tokens>
: Exchanges the authorization code for the access token. Returns a Promise that resolves to the tokens (access token, token type, expires in, and optional refresh token). -
refreshTokens(refreshToken: string): Promise<Tokens>
: Refreshes the access token using the provided refresh token. Returns a Promise that resolves to the updated tokens. -
getUserID(accessToken: string): Promise<string>
: Fetches the user ID using the provided access token. -
getUserEmail(accessToken: string): Promise<string>
: Retrieves the user's email using the access token. Returns a Promise that resolves to the user's email. -
isEmailVerified(accessToken: string): Promise<boolean>
: Checks if the user's email is verified using the access token. Returns a Promise that resolves to a boolean indicating email verification status. -
getUserName(accessToken: string): Promise<string>
: Retrieves the user's name using the access token. Returns a Promise that resolves to the user's name. -
getUser(accessToken: string): Promise<User>
: Retrieves the user's information (sub, email, email_verified, name) using the access token. Returns a Promise that resolves to the user object.