# Anonymous authentication

Anonymous authentication can be allowed by creating a custom strategy that returns the params that you would like to use to identify an authenticated user.

    Next, we create a hook called allow-anonymous that sets params.authentication if it does not exist and if params.provider exists (which means it is an external call) to use that anonymous strategy:

      This hook should be added before the authenticate hook wherever anonymous authentication should be allowed:

      all: [ allowAnonymous(), authenticate('jwt', 'anonymous') ],

      If an anonymous user now accesses the service externally, the service call will succeed and have params.anonymous set to true.