title: What is the correct way to add a Custom Authentication strategy to a Feathers application?
body: <p>My Feathers application needs to be able to have two JWT authentication strategies. For the <code>users</code> service, I need to have, for example, <code>all: [authenticate('carrier')]</code> instead of <code>all: [authenticate('jwt')]</code> in my hooks. For the rest of the services, <code>authenticate['jwt']</code> is needed.</p>
  
  <p>For this, I have registered a custom strategy in authentication.js called <code>CarrierStrategy</code> as following:</p>
  
  <pre><code>module.exports = function auth(app) {
    const authentication = new AuthenticationService(app)
  
    // register all of the strategies with authentication service
    authentication.register('carrier', new CarrierStrategy())
    authentication.register('jwt', new JWTStrategy())
  
    // register the authentication service with your app
    app.use('/api/authentication', authentication)
  }
  </code></pre>
  
  <p>In config/default.json, I have also registered this strategy as following:</p>
  
  <pre><code>authStrategies: ["carrier", "jwt"]
  </code></pre>
  
  <p>The CarrierStrategy needs to handle the incoming Authorization header a little differently with some custom logic.</p>
  
  <p>When I use Postman to send requests for this service, i.e., <code>localhost:3030/users</code> with a JWT token in the header, I get the following error.</p>
  
  <p><code>Invalid authentication information (strategy not allowed in authStrategies)'</code></p>
  
  <p>Please guide me if this is the right way to add a custom strategy to the application.</p>