Authenticate Hook 
The authenticate hook will use params.authentication of the service method call and run authenticationService.authenticate().
The hook will
- Throw an error if the strategy fails
- Throw an error if no authentication information is set and it is an external call (params.provideris set) or do nothing if it is an internal call (params.providerisundefined)
- If successful, merge paramswith the return value of the authentication strategy
For example, a successful JWT strategy authentication will set:
js
params.authentication.payload // The decoded payload
params.authentication.strategy === 'jwt' // The strategy name
params.user // or params[entity] if entity is not `null`In the following hooks and for the service method call. It can be used as a before or around hook.
authenticate(...strategies) 
Check params.authentication against a list of authentication strategy names.
ts
import { authenticate } from '@feathersjs/authentication'
// Authenticate with `jwt` and `api-key` strategy
// using app.service('authentication') as the authentication service
app.service('messages').hooks({
  around: {
    all: [authenticate('jwt', 'api-key')]
  }
})authenticate(options) 
Check params.authentication against a list of strategies and specific authentication service. Available options are:
- service- The path to the authentication service
- strategies- A list of strategy names
js
import { authenticate } from '@feathersjs/authentication'
// Authenticate with `jwt` and `api-key` strategy
// using app.service('v1/authentication') as the authentication service
app.service('messages').hooks({
  before: {
    all: [
      authenticate({
        service: 'v1/authentication',
        strategies: ['jwt', 'api-key']
      })
    ]
  }
})