Skip to content

nguyen991/colyseus-social

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



Patreon donate button Discussion forum

Authentication and Social features for Colyseus
View documentation

Features

  • Authenticate with Facebook
  • Get list of user's friends
  • Get list of user's online friends
  • Friend requests (send, accept, decline)
  • Block user

Hooks

import { hooks } from "@colyseus/social";

hooks.beforeAuthenticate((provider, $setOnInsert, $set) => {
    // assign default metadata upon registration
    $setOnInsert = {
        metadata: {
            coins: 100,
            trophies: 0
        }
    };
});

hooks.beforeUserUpdate((_id, fields) => {
    if (fields['username']) {
        if (fields['username'] === "bad word!") {
            throw new Error("can't have bad words!");
        }
    }
})

Authentication Providers

  • Anonymous
  • Facebook
  • ...more coming soonish!

Environment Variables

  • MONGO_URI: MongoDB connection URI
  • JWT_SECRET: Secure secret string for authentication.

For Facebook:

  • FACEBOOK_APP_TOKEN: Facebook App Token ("appid|appsecret")

For Push Notifications

  • WEBPUSH_SUBJECT - mailto: or URL.
  • WEBPUSH_PUBLIC_KEY - VAPID Public Key
  • WEBPUSH_PRIVATE_KEY - VAPID Private Key

You can generate VAIPD keys using npx web-push generate-vapid-keys

Integration with your Node.js Web Framework

Express

import express from "express";
import socialRoutes from "@colyseus/social/express"

const app = express();
app.use("/", socialRoutes);

app.listen(8080);

TODO's

License

MIT License.

About

Authentication and Social features

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 94.6%
  • JavaScript 5.4%