Integrate OAuth 2.0 authentication in minutes
Don't have credentials yet? Create an app
profile:nameFull Name
profile:firstNameFirst Name
profile:middleNameMiddle Name
profile:lastNameLast Name
profile:preferredNamePreferred Name
profile:nicknameNickname
profile:dateOfBirthDate of Birth
profile:placeOfBirthPlace of Birth
profile:emailEmail Address
profile:secondaryEmailSecondary Email
profile:phonePhone Number
profile:secondaryPhoneSecondary Phone
profile:workPhoneWork Phone
profile:addressAddress
profile:mailingAddressMailing Address
profile:nationalityNationality
profile:citizenshipCitizenship
profile:passportNumberPassport Number
profile:passportExpiryPassport Expiry
profile:passportCountryPassport Issuing Country
profile:nationalIdNational ID
profile:socialSecurityNumberSocial Security Number
profile:taxIdTax ID
profile:driversLicenseDriver's License
profile:driversLicenseStateLicense State
profile:driversLicenseExpiryLicense Expiry
profile:genderGender
profile:pronounsPronouns
profile:ethnicityEthnicity
profile:raceRace
profile:religionReligion
profile:languagesSpokenLanguages Spoken
profile:primaryLanguagePrimary Language
profile:maritalStatusMarital Status
profile:spouseNameSpouse Name
profile:anniversaryDateAnniversary Date
profile:numberOfChildrenNumber of Children
profile:childrenChildren
profile:motherNameMother's Name
profile:fatherNameFather's Name
profile:parentNamesParent Names
profile:siblingsSiblings
profile:educationEducation
profile:highestDegreeHighest Degree
profile:fieldOfStudyField of Study
profile:universityUniversity/College
profile:graduationYearGraduation Year
profile:gpaGPA
profile:certificationsCertifications
profile:licensesProfessional Licenses
profile:occupationOccupation
profile:companyCompany
profile:industryIndustry
profile:employmentStatusEmployment Status
profile:jobTitleJob Title
profile:departmentDepartment
profile:employeeIdEmployee ID
profile:startDateStart Date
profile:endDateEnd Date
profile:workExperienceWork Experience
profile:yearsOfExperienceYears of Experience
profile:salarySalary
profile:salaryCurrencySalary Currency
profile:skillsSkills
profile:resumeResume/CV
profile:portfolioPortfolio
profile:annualIncomeAnnual Income
profile:incomeSourceIncome Source
profile:bankNameBank Name
profile:accountNumberAccount Number
profile:routingNumberRouting Number
profile:ibanIBAN
profile:swiftCodeSWIFT Code
profile:creditScoreCredit Score
profile:netWorthNet Worth
profile:investmentAccountsInvestment Accounts
profile:cryptoWalletsCrypto Wallets
profile:bloodTypeBlood Type
profile:heightHeight
profile:weightWeight
profile:allergiesAllergies
profile:medicationsMedications
profile:medicalConditionsMedical Conditions
profile:disabilitiesDisabilities
profile:insuranceProviderInsurance Provider
profile:insurancePolicyNumberPolicy Number
profile:primaryPhysicianPrimary Physician
profile:organDonorOrgan Donor
profile:smokingStatusSmoking Status
profile:drinkingStatusDrinking Status
profile:dietaryPreferencesDietary Preferences
profile:hobbiesHobbies
profile:interestsInterests
profile:favoriteBooksFavorite Books
profile:favoriteMoviesFavorite Movies
profile:favoriteMusicFavorite Music
profile:petOwnerPet Owner
profile:petsPets
profile:vehicleOwnerVehicle Owner
profile:vehiclesVehicles
profile:travelFrequencyTravel Frequency
profile:websiteWebsite
profile:blogBlog
profile:linkedInprofile:twitterTwitter/X
profile:facebookprofile:instagramprofile:githubGitHub
profile:youtubeYouTube
profile:tiktokTikTok
profile:discordDiscord
profile:telegramTelegram
profile:whatsappprofile:criminalRecordCriminal Record
profile:militaryServiceMilitary Service
profile:militaryBranchMilitary Branch
profile:militaryRankMilitary Rank
profile:veteranStatusVeteran Status
profile:securityClearanceSecurity Clearance
profile:politicalAffiliationPolitical Affiliation
profile:voterRegistrationVoter Registration
profile:emergencyContactEmergency Contact
profile:secondaryEmergencyContactSecondary Emergency Contact
profile:emailCreate OAuth app
Sign in button
Exchange code
Access user info
<a href="https://abbieauth.vercel.app/oauth/consent?client_id=your_client_id&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback&response_type=code&scope=profile%3Aemail&state=random_state_string" class="oauth-button">
Sign in with AbbieAuth
</a>https://example.com/callback?code=AUTHORIZATION_CODE&state=random_state_stringfetch('https://abbieauth.vercel.app/api/oauth/token', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
grant_type: 'authorization_code',
code: authorizationCode,
client_id: 'your_client_id',
client_secret: 'your_client_secret',
redirect_uri: 'https://example.com/callback'
})
})
.then(res => res.json())
.then(data => {
console.log('Access Token:', data.access_token);
console.log('Refresh Token:', data.refresh_token);
});{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600
}fetch('https://abbieauth.vercel.app/api/oauth/userinfo', {
headers: {
'Authorization': 'Bearer ' + accessToken
}
})
.then(res => res.json())
.then(user => {
console.log('User:', user);
});{
"sub": "user_id_12345",
"email": "user@example.com",
"name": "John Doe"
}fetch('https://abbieauth.vercel.app/api/oauth/token', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
grant_type: 'refresh_token',
refresh_token: refreshToken,
client_id: 'your_client_id',
client_secret: 'your_client_secret'
})
})
.then(res => res.json())
.then(data => {
console.log('New Access Token:', data.access_token);
});{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600
}const express = require('express');
const session = require('express-session');
const crypto = require('crypto');
const app = express();
app.use(session({ secret: 'your-secret', resave: false, saveUninitialized: true }));
const CLIENT_ID = 'your_client_id';
const CLIENT_SECRET = 'your_client_secret';
const REDIRECT_URI = 'https://example.com/callback';
const AUTH_URL = 'https://abbieauth.vercel.app/oauth/consent';
const TOKEN_URL = 'https://abbieauth.vercel.app/api/oauth/token';
const USERINFO_URL = 'https://abbieauth.vercel.app/api/oauth/userinfo';
app.get('/login', (req, res) => {
const state = crypto.randomBytes(16).toString('hex');
req.session.oauthState = state;
const authUrl = new URL(AUTH_URL);
authUrl.searchParams.set('client_id', CLIENT_ID);
authUrl.searchParams.set('redirect_uri', REDIRECT_URI);
authUrl.searchParams.set('response_type', 'code');
authUrl.searchParams.set('scope', 'profile:email profile:name');
authUrl.searchParams.set('state', state);
res.redirect(authUrl.toString());
});
app.get('/callback', async (req, res) => {
const { code, state } = req.query;
if (state !== req.session.oauthState) {
return res.status(400).send('Invalid state');
}
const tokenResponse = await fetch(TOKEN_URL, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
grant_type: 'authorization_code',
code,
client_id: CLIENT_ID,
client_secret: CLIENT_SECRET,
redirect_uri: REDIRECT_URI
})
});
const { access_token, refresh_token } = await tokenResponse.json();
const userResponse = await fetch(USERINFO_URL, {
headers: { 'Authorization': `Bearer ${access_token}` }
});
const user = await userResponse.json();
req.session.user = user;
req.session.refreshToken = refresh_token;
res.redirect('/dashboard');
});
app.listen(3000);profile:nameFull Name
Your complete legal name
profile:firstNameFirst Name
Your given name
profile:middleNameMiddle Name
Your middle name(s)
profile:lastNameLast Name
Your family name or surname
profile:preferredNamePreferred Name
Name you prefer to be called
profile:nicknameNickname
Your nickname or alias
profile:dateOfBirthDate of Birth
Your birth date
profile:placeOfBirthPlace of Birth
City and country where you were born
profile:emailEmail Address
Your primary email
Requiredprofile:secondaryEmailSecondary Email
Alternative email address
profile:phonePhone Number
Your primary phone number
profile:secondaryPhoneSecondary Phone
Alternative phone number
profile:workPhoneWork Phone
Your work phone number
profile:addressAddress
Your residential address
profile:mailingAddressMailing Address
Address for receiving mail
profile:nationalityNationality
Your country of citizenship
profile:citizenshipCitizenship
Countries where you hold citizenship
profile:passportNumberPassport Number
Your passport number
profile:passportExpiryPassport Expiry
Passport expiration date
profile:passportCountryPassport Issuing Country
Country that issued your passport
profile:nationalIdNational ID
National identification number
profile:socialSecurityNumberSocial Security Number
SSN or equivalent
profile:taxIdTax ID
Tax identification number
profile:driversLicenseDriver's License
Driver's license number
profile:driversLicenseStateLicense State
State/region that issued license
profile:driversLicenseExpiryLicense Expiry
License expiration date
profile:genderGender
Your gender identity
profile:pronounsPronouns
Your preferred pronouns
profile:ethnicityEthnicity
Your ethnic background
profile:raceRace
Your racial identity
profile:religionReligion
Your religious affiliation
profile:languagesSpokenLanguages Spoken
Languages you can speak
profile:primaryLanguagePrimary Language
Your native or primary language
profile:maritalStatusMarital Status
Your relationship status
profile:spouseNameSpouse Name
Name of your spouse/partner
profile:anniversaryDateAnniversary Date
Wedding or partnership anniversary
profile:numberOfChildrenNumber of Children
How many children you have
profile:childrenChildren
Information about your children
profile:motherNameMother's Name
Your mother's full name
profile:fatherNameFather's Name
Your father's full name
profile:parentNamesParent Names
Names of your parents/guardians
profile:siblingsSiblings
Information about siblings
profile:educationEducation
Your educational background
profile:highestDegreeHighest Degree
Highest level of education completed
profile:fieldOfStudyField of Study
Your major or area of study
profile:universityUniversity/College
Name of your university
profile:graduationYearGraduation Year
Year you graduated
profile:gpaGPA
Grade point average
profile:certificationsCertifications
Professional certifications
profile:licensesProfessional Licenses
Professional licenses held
profile:occupationOccupation
Your current job title
profile:companyCompany
Your current employer
profile:industryIndustry
Industry you work in
profile:employmentStatusEmployment Status
Your current employment status
profile:jobTitleJob Title
Your official job title
profile:departmentDepartment
Department you work in
profile:employeeIdEmployee ID
Your employee identification number
profile:startDateStart Date
When you started current job
profile:endDateEnd Date
When you left the job
profile:workExperienceWork Experience
Your employment history
profile:yearsOfExperienceYears of Experience
Total years of work experience
profile:salarySalary
Your current salary
profile:salaryCurrencySalary Currency
Currency of your salary
profile:skillsSkills
Your professional skills
profile:resumeResume/CV
Link to your resume
profile:portfolioPortfolio
Link to your portfolio
profile:annualIncomeAnnual Income
Your yearly income
profile:incomeSourceIncome Source
Primary source of income
profile:bankNameBank Name
Your primary bank
profile:accountNumberAccount Number
Bank account number
profile:routingNumberRouting Number
Bank routing number
profile:ibanIBAN
International bank account number
profile:swiftCodeSWIFT Code
Bank SWIFT/BIC code
profile:creditScoreCredit Score
Your credit score
profile:netWorthNet Worth
Your total net worth
profile:investmentAccountsInvestment Accounts
Your investment accounts
profile:cryptoWalletsCrypto Wallets
Cryptocurrency wallet addresses
profile:bloodTypeBlood Type
Your blood type
profile:heightHeight
Your height
profile:weightWeight
Your weight
profile:allergiesAllergies
Known allergies
profile:medicationsMedications
Current medications
profile:medicalConditionsMedical Conditions
Chronic or ongoing conditions
profile:disabilitiesDisabilities
Any disabilities
profile:insuranceProviderInsurance Provider
Health insurance company
profile:insurancePolicyNumberPolicy Number
Insurance policy number
profile:primaryPhysicianPrimary Physician
Your primary doctor
profile:organDonorOrgan Donor
Organ donor status
profile:smokingStatusSmoking Status
Do you smoke
profile:drinkingStatusDrinking Status
Alcohol consumption
profile:dietaryPreferencesDietary Preferences
Your diet type
profile:hobbiesHobbies
Your hobbies and interests
profile:interestsInterests
Things you're interested in
profile:favoriteBooksFavorite Books
Books you love
profile:favoriteMoviesFavorite Movies
Movies you love
profile:favoriteMusicFavorite Music
Music genres or artists
profile:petOwnerPet Owner
Do you have pets
profile:petsPets
Information about your pets
profile:vehicleOwnerVehicle Owner
Do you own a vehicle
profile:vehiclesVehicles
Vehicles you own
profile:travelFrequencyTravel Frequency
How often you travel
profile:websiteWebsite
Your personal website
profile:blogBlog
Your blog URL
profile:linkedInLinkedIn profile URL
profile:twitterTwitter/X
Twitter/X handle
profile:facebookFacebook profile URL
profile:instagramInstagram handle
profile:githubGitHub
GitHub username
profile:youtubeYouTube
YouTube channel URL
profile:tiktokTikTok
TikTok handle
profile:discordDiscord
Discord username
profile:telegramTelegram
Telegram username
profile:whatsappWhatsApp number
profile:criminalRecordCriminal Record
Any criminal history
profile:militaryServiceMilitary Service
Military service history
profile:militaryBranchMilitary Branch
Branch of military service
profile:militaryRankMilitary Rank
Highest rank achieved
profile:veteranStatusVeteran Status
Are you a veteran
profile:securityClearanceSecurity Clearance
Government security clearance level
profile:politicalAffiliationPolitical Affiliation
Political party affiliation
profile:voterRegistrationVoter Registration
Voter registration status
profile:emergencyContactEmergency Contact
Primary emergency contact
profile:secondaryEmergencyContactSecondary Emergency Contact
Backup emergency contact
/oauth/consentAuthorization endpoint - redirect users here to start OAuth flow
/api/oauth/tokenToken endpoint - exchange authorization code or refresh token
/api/oauth/userinfoResource endpoint - fetch user data with access token
Check out example implementations or manage your apps