How to use feathers-authentication-management - 10 common examples

To help you get started, we’ve selected a few feathers-authentication-management examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github Human-Connection / API / server / services / users / users.hooks.js View on Github external
// const { authenticate } = require('feathers-authentication').hooks;
const { isProvider, when, iff, populate, disableMultiItemChange, lowerCase } = require('feathers-hooks-common');
const { protect } = require('@feathersjs/authentication-local').hooks;
const { restrictToOwner } = require('feathers-authentication-hooks');
const { addVerification, removeVerification } = require('feathers-authentication-management').hooks;

const sendVerificationEmail = require('./hooks/send-verification-email');
const restrictUserRole = require('./hooks/restrict-user-role');
const createAdmin = require('./hooks/create-admin');
const createSlug = require('../../hooks/create-slug');
const thumbnails = require('../../hooks/thumbnails');
const isModerator = require('../../hooks/is-moderator-boolean');
const isSingleItem = require('../../hooks/is-single-item');
const inviteCode = require('./hooks/invite-code')();
const search = require('feathers-mongodb-fuzzy-search');
const isOwnEntry = require('./hooks/is-own-entry');
const removeAllRelatedUserData = require('./hooks/remove-all-related-user-data');

const { hashPassword } = require('@feathersjs/authentication-local').hooks;

const cleanupBasicData = protect('password', '_computed', 'verifyExpires', 'resetExpires', 'verifyChanges');
github Human-Connection / API / server / services / comments / comments.hooks.js View on Github external
const { authenticate } = require('@feathersjs/authentication').hooks;
const { iff, unless, isProvider, populate, discard, softDelete, setNow } = require('feathers-hooks-common');
const { protect } = require('@feathersjs/authentication-local').hooks;
const {
  //queryWithCurrentUser,
  associateCurrentUser,
  // restrictToAuthenticated,
  restrictToOwner
} = require('feathers-authentication-hooks');
const { isVerified } = require('feathers-authentication-management').hooks;
const createExcerpt = require('../../hooks/create-excerpt');
const patchDeletedData = require('../../hooks/patch-deleted-data');
const concealBlacklistedData = require('../../hooks/conceal-blacklisted-data');
const keepDeletedDataFields = require('../../hooks/keep-deleted-data-fields');
const createNotifications = require('./hooks/create-notifications');
const createMentionNotifications = require('./hooks/create-mention-notifications');
const isModerator = require('../../hooks/is-moderator-boolean');
const _ = require('lodash');
const xss = require('../../hooks/xss');

const userSchema = {
  include: {
    service: 'users',
    nameAs: 'user',
    parentField: 'userId',
    childField: '_id',
github Human-Connection / API / server / services / organizations / organizations.hooks.js View on Github external
const { unless, when, isProvider, populate, softDelete, stashBefore } = require('feathers-hooks-common');
const { isVerified } = require('feathers-authentication-management').hooks;
const { authenticate } = require('@feathersjs/authentication').hooks;
const { associateCurrentUser } = require('feathers-authentication-hooks');
const createSlug = require('../../hooks/create-slug');
const saveRemoteImages = require('../../hooks/save-remote-images');
const createExcerpt = require('../../hooks/create-excerpt');
const isModerator = require('../../hooks/is-moderator-boolean');
// const excludeDisabled = require('../../hooks/exclude-disabled');
const thumbnails = require('../../hooks/thumbnails');
const restrictToOwnerOrModerator = require('../../hooks/restrictToOwnerOrModerator');
const restrictReviewAndEnableChange = require('../../hooks/restrictReviewAndEnableChange');
const search = require('feathers-mongodb-fuzzy-search');
const isSingleItem = require('../../hooks/is-single-item');
const xss = require('../../hooks/xss');

const thumbnailOptions = {
  logo: {
github codingfriend1 / Feathers-Vue / server / authentication.js View on Github external
const authentication = require('feathers-authentication');
const jwt = require('feathers-authentication-jwt');
const local = require('feathers-authentication-local');
const oauth2 = require('feathers-authentication-oauth2');
const GoogleStrategy = require('passport-google-oauth20');
const FacebookStrategy = require('passport-facebook');
const GithubStrategy = require('passport-github');
const verifyHooks = require('feathers-authentication-management').hooks;

const errors = require('feathers-errors');
const _ = require('lodash');

module.exports = function () {
  const app = this;
  const config = app.get('authentication');

  // Set up authentication with the secret
  app.configure(authentication(config));
  app.configure(jwt());
  app.configure(local(config.local));

  app.configure(oauth2(Object.assign({
    name: 'google',
    Strategy: GoogleStrategy
github Human-Connection / API / server / services / emotions / emotions.hooks.js View on Github external
const { authenticate } = require('@feathersjs/authentication').hooks;
const emotionRatingHook = require('./hooks/emotion-rating');
const { isVerified } = require('feathers-authentication-management').hooks;
const hooks = require('feathers-hooks-common');

module.exports = {
  before: {
    all: [authenticate('jwt')],
    find: [],
    get: [],
    create: [
      hooks.when(hooks.isProvider('external'),
        isVerified()
      )],
    update: [hooks.disallow()],
    patch: [hooks.disallow()],
    remove: [hooks.disallow('external')]
  },

  after: {
    all: [
      // populate({ schema: userSchema }),
      // populate({ schema: contributionSchema })
    ],
    find: [],
    get: [],
    create: [emotionRatingHook()],
    update: [],
    patch: [],
github Human-Connection / API / server / services / follows / follows.hooks.js View on Github external
childField: '_id',
    query: {
      $select: ['_id', 'name', 'slug', 'avatar', 'createdAt', 'lastActiveAt']
    }
  }
};

module.exports = {
  before: {
    all: [],
    find: [],
    get: [],
    create: [
      authenticate('jwt'),
      unless(isProvider('server'),
        isVerified(),
        associateCurrentUser()
      )
      // mapCreateToUpsert(context => {
      //   const { data } = context;
      //   return { userId: data.userId, foreignId: data.foreignId, foreignService: data.foreignService };
      // })
    ],
    update: [
      authenticate('jwt'),
      unless(isModerator(),
        restrictToOwner()
      )
    ],
    patch: [
      authenticate('jwt'),
      unless(isModerator(),
github Human-Connection / API / server / services / contributions / contributions.hooks.js View on Github external
authenticate('jwt'),
      // Allow seeder to seed contributions
      associateCurrentUser(),
      unless(isProvider('server'),
        isVerified(),
        canEditOrganization()
      ),
      associateCurrentUser(),
      createSlug({field: 'title'}),
      saveRemoteImages(['teaserImg']),
      createExcerpt()
    ],
    update: [
      authenticate('jwt'),
      unless(isProvider('server'),
        isVerified(),
        canEditOrganization()
      ),
      unless(isModerator(),
        excludeDisabled(),
        restrictToOwner()
      ),
      saveRemoteImages(['teaserImg']),
      createExcerpt(),
      setNow('updatedAt')
    ],
    patch: [
      authenticate('jwt'),
      unless(isProvider('server'),
        isVerified(),
        canEditOrganization()
      ),
github Human-Connection / API / server / services / comments / comments.hooks.js View on Github external
hook => {
        delete hook.params.query.deleted;
        return hook;
      }
    ],
    get: [
      iff(
        hook => hook.params.headers && hook.params.headers.authorization,
        authenticate('jwt')
      )
    ],
    create: [
      authenticate('jwt'),
      // Allow seeder to seed comments
      unless(isProvider('server'),
        isVerified()
      ),
      associateCurrentUser(),
      createExcerpt({ length: 180 })
    ],
    update: [
      authenticate('jwt'),
      unless(isProvider('server'),
        isVerified(),
        restrictToOwner()
      ),
      createExcerpt({ length: 180 }),
      setNow('updatedAt')
    ],
    patch: [
      authenticate('jwt'),
      unless(isProvider('server'),
github codingfriend1 / Feathers-Vue / src / services / user / hooks / index.js View on Github external
auth.restrictToAuthenticated(),
    globalHooks.isEnabled(),
    globalHooks.hasPermission('manageUsers')
  ],
  get: [
    auth.verifyToken(),
    auth.populateUser(),
    auth.restrictToAuthenticated(),
    globalHooks.isEnabled(),
    globalHooks.hasPermission('manageUsers')
    // auth.restrictToOwner({ ownerField: '_id' })
  ],
  create: [
    auth.hashPassword(),
    common.lowerCase('email'),
    verifyHooks.addVerification(),
    globalHooks.setDefaultRole(),
    globalHooks.setFirstUserToRole({role: 'admin'})
  ],
  update: [
    auth.verifyToken(),
    auth.populateUser(),
    auth.restrictToAuthenticated(),
    globalHooks.isEnabled(),
    globalHooks.hasPermissionOrRestrictChanges('manageUsers', {
      restrictOn: ['role', 'isEnabled']
    }),
    globalHooks.preventDisabledAdmin()
  ],
  patch: [
    auth.verifyToken(),
    auth.populateUser(),
github ImreC / feathers-verification-emails / src / services / users / users.hooks.js View on Github external
remove: [ authenticate('jwt') ]
  },

  after: {
    all: [
      // Make sure the password field is never sent to the client
      // Always must be the last hook
      protect('password')
    ],
    find: [],
    get: [],
    create: [
      context => {
        accountService(context.app).notifier('resendVerifySignup', context.result)
      },
      verifyHooks.removeVerification()
    ],
    update: [],
    patch: [],
    remove: []
  },

  error: {
    all: [],
    find: [],
    get: [],
    create: [],
    update: [],
    patch: [],
    remove: []
  }
};

feathers-authentication-management

Adds sign up verification, forgotten password reset, and other capabilities to local feathers-authentication

MIT
Latest version published 5 months ago

Package Health Score

77 / 100
Full package analysis