diff --git a/packages/core/admin/server/strategies/api-token.js b/packages/core/admin/server/strategies/api-token.js index 1c2c586be7..f0f98720fe 100644 --- a/packages/core/admin/server/strategies/api-token.js +++ b/packages/core/admin/server/strategies/api-token.js @@ -1,6 +1,6 @@ 'use strict'; -const { castArray, isNil } = require('lodash/fp'); +const { castArray, isNil, isEmpty } = require('lodash/fp'); const { UnauthorizedError, ForbiddenError } = require('@strapi/utils').errors; const constants = require('../services/constants'); const { getService } = require('../utils'); @@ -78,6 +78,13 @@ const authenticate = async (ctx) => { const verify = (auth, config) => { const { credentials: apiToken, ability } = auth; + strapi.telemetry.send('didCompleteRequest', { + eventProperties: { + authenticationMetod: auth?.strategy?.name || 'api-token', + isAuthenticated: !isEmpty(apiToken), + }, + }); + if (!apiToken) { throw new UnauthorizedError('Token not found'); } diff --git a/packages/plugins/users-permissions/server/strategies/users-permissions.js b/packages/plugins/users-permissions/server/strategies/users-permissions.js index 7ff3421c9a..c44e7c9a47 100644 --- a/packages/plugins/users-permissions/server/strategies/users-permissions.js +++ b/packages/plugins/users-permissions/server/strategies/users-permissions.js @@ -1,6 +1,6 @@ 'use strict'; -const { castArray, map, every, pipe } = require('lodash/fp'); +const { castArray, map, every, pipe, isEmpty } = require('lodash/fp'); const { ForbiddenError, UnauthorizedError } = require('@strapi/utils').errors; const { getService } = require('../utils'); @@ -80,6 +80,13 @@ const authenticate = async (ctx) => { const verify = async (auth, config) => { const { credentials: user, ability } = auth; + strapi.telemetry.send('didCompleteRequest', { + eventProperties: { + authenticationMetod: auth?.strategy?.name, + isAuthenticated: !isEmpty(auth.credentials), + }, + }); + if (!config.scope) { if (!user) { // A non authenticated user cannot access routes that do not have a scope