Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A Passport strategy for authenticating withhttps://discordapp.com/

License

NotificationsYou must be signed in to change notification settings

Opti-domains/passport-discord

 
 

Repository files navigation

VersionDependenciesDev DependenciesVulnerabilitiesLicenseTypes

A fully typedPassport strategy for authenticating users withDiscord using OAuth 2.0 and the Discord API.

Passport is authentication middleware for Node.js. It allows you to easily add user authentication to your application. It supports any application usingConnect-style middleware, includingExpress.

@oauth-everything/passport-discord is an authentication Strategy forPassport that allows users to authenticate using theirDiscord account.

Installation

$ npm install @oauth-everything/passport-discord

Setup/Configuration

Typescript Example
importexpressfrom'express';importpassportfrom'passport';// Import the strategy and types from@oauth-everything/passport-discordimport{Strategy,Profile,VerifyCallback/*, Scope*/}from'@oauth-everything/passport-discord';// Set up express/connect/etcconstapp=express();app.use(...);......// Set up passportpassport.serializeUser((user:User,done)=>{done(null,/* user.id */);})passport.deserializeUser((id:string,done)=>{done(null,/* database.getUserById(id) */);});......// Set up the Discord Strategypassport.use(newStrategy({// The Client Id for your discord application (See "Discord Application Setup")clientID:"wumpus",// The Client Secret for your discord application (See "Discord Application Setup")clientSecret:"supmuw",// The callback URL - Your app should be accessible on this domain. You can use// localhost for testing, just makes sure it's set as a Redirect URL (See "Discord Application Setup")callbackURL:"https://myapp.com/auth/discord/callback",/* Optional items: */// The scope for your OAuth request - You can use strings or Scope values// The default scope is Scope.IDENTIFY which gives basic profile informationscope:[Scope.EMAIL,Scope.GUILDS_JOIN,"webhook.incoming", ...]},(accessToken:string,refreshToken:string,profile:Profile,cb:VerifyCallback<User>)=>{// `profile` will be the user's Discord profileconsole.log(profile);// You should use that to create or update their info in your database/etc and then return the user using `cb`cb(null,/* database.createOrUpdateDiscordUser(profile) */)}));// Connect passport to express/connect/etcapp.get("/auth/discord",passport.authenticate("discord"));app.get("/auth/discord/callback",passport.authenticate("discord",{failureRedirect:"/login",successRedirect:"/"}));// Start the appapp.listen(80);

Javascript Example
constexpress=require('express');constpassport=require('passport');// Import the strategy from@oauth-everything/passport-discordconst{ Strategy/*, Scope*/}=require('@oauth-everything/passport-discord');// Set up express/connect/etcconstapp=express();app.use(...);......// Set up passportpassport.serializeUser((user,done)=>{done(null,/* user.id */);})passport.deserializeUser((id,done)=>{done(null,/* database.getUserById(id) */);});......// Set up the Discord Strategypassport.use(newStrategy({// The Client Id for your discord application (See "Discord Application Setup")clientID:"wumpus",// The Client Secret for your discord application (See "Discord Application Setup")clientSecret:"supmuw",// The callback URL - Your app should be accessible on this domain. You can use// localhost for testing, just makes sure it's set as a Redirect URL (See "Discord Application Setup")callbackURL:"https://myapp.com/auth/discord/callback",/* Optional items: */// The scope for your OAuth request - You can use strings or Scope values// The default scope is Scope.IDENTIFY which gives basic profile informationscope:[Scope.EMAIL,Scope.GUILDS_JOIN,"webhook.incoming", ...]},(accessToken,refreshToken,profile,cb)=>{// `profile` will be the user's Discord profileconsole.log(profile);// You should use that to create or update their info in your database/etc and then return the user using `cb`cb(null,/* database.createOrUpdateDiscordUser(profile) */)}));// Connect passport to express/connect/etcapp.get("/auth/discord",passport.authenticate("discord"));app.get("/auth/discord/callback",passport.authenticate("discord",{failureRedirect:"/login",successRedirect:"/"}));// Start the appapp.listen(80);

Discord Application Setup

Click to expand
  1. Go tohttps://discordapp.com/developers/applications and create a New Application

    asdfasdf

  2. Copy the Client ID and Client Secret and save them somewhere safe

    asdf

  3. Go to the OAuth tab and add a redirect URL - this will be the URL on your website where Passport is set up

    asdfasdf

License

The MPL v2 License

About

A Passport strategy for authenticating withhttps://discordapp.com/

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript100.0%

[8]ページ先頭

©2009-2025 Movatter.jp