@acceleratxr/passport-discord-token
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.0 • Public • Published

    passport-discord-token

    Passport strategy for authenticating with Discord access tokens using the OAuth 2.0 API.

    This module lets you authenticate using Discord in your Node.js applications using the Passport framework.

    Installation

    npm install passport-discord-token
    

    or

    yarn add passport-discord-token
    

    Usage

    Configure Strategy

    The Discord authentication strategy authenticates users using a Discord account and OAuth 2.0 tokens. The strategy requires a verify callback to perform a look up of the user account given a verified OAuth 2.0 token.

    JavaScript

    const DiscordTokenStrategy = require('passport-discord-token');
    
    passport.use(new DiscordTokenStrategy({
        clientID: DISCORD_APP_ID,
        clientSecret: DISCORD_APP_SECRET,
        apiVersion: "v8"
      }, function(accessToken, refreshToken, profile, done) {
        User.findOrCreate({discordId: profile.id}, function (error, user) {
          return done(error, user);
        });
      }
    ));
    

    TypeScript

    import { DiscordTokenStrategy } from "passport-discord-token";
    
    passport.use(new DiscordTokenStrategy({
        clientID: DISCORD_APP_ID,
        clientSecret: DISCORD_APP_SECRET,
        apiVersion: "v8"
      }, function(accessToken, refreshToken, profile, done) {
        User.findOrCreate({discordId: profile.id}, function (error, user) {
          return done(error, user);
        });
      }
    ));
    

    Authenticate Requests

    Use passport.authenticate(), specifying discord-token as the strategy to authenticate requests.

    app.post('/auth/discord/token',
      passport.authenticate('discord-token'),
      function (req, res) {
        // do something with req.user
        res.send(req.user? 200 : 401);
      }
    );
    

    Client Requests

    Clients can send requests to routes that use the passport-discord-token strategy using query params. Clients must transmit the code parameter that is received after Discord login. Clients may also optionally transmit a state parameter.

    GET /auth/discord/token?code=<TOKEN_HERE>&state=<STATE_HERE>
    

    Keywords

    none

    Install

    npm i @acceleratxr/passport-discord-token

    DownloadsWeekly Downloads

    7

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    15.6 kB

    Total Files

    8

    Last publish

    Collaborators

    • acceleratxr