Send SSO usage only at server start

This commit is contained in:
Aurélien Georget 2024-02-13 16:53:30 +01:00
parent 499d0fe8e2
commit 12e45f7102
3 changed files with 29 additions and 15 deletions

View File

@ -19,18 +19,8 @@ const providerAuthenticationFlow = compose([
export default {
async getProviders(ctx: Context) {
const { providerRegistry } = strapi.admin.services.passport;
const providers = providerRegistry.getAll().map(toProviderDTO);
strapi.telemetry.send('didGetProvidersSSO', {
groupProperties: {
'authenticationProviders': providers.map(({ uid }) => uid)
},
eventProperties: {
'authenticationProviders': providers.map(({ uid }) => uid)
}
});
ctx.body = providers;
ctx.body = providerRegistry.getAll().map(toProviderDTO);
},
async getProviderLoginOptions(ctx: Context) {
@ -54,7 +44,7 @@ export default {
const newAuthOptions = { ...currentAuthOptions, providers: body };
await adminStore.set({ key: 'auth', value: newAuthOptions });
strapi.telemetry.send('didUpdateSettingsSSO');
strapi.telemetry.send('didUpdateSSOSettings');
ctx.body = {
data: toProviderLoginOptionsDTO(newAuthOptions.providers),

View File

@ -95,6 +95,8 @@ export default async ({ strapi }: { strapi: Strapi }) => {
getService('metrics').startCron(strapi);
await getService('metrics').sendUpdateProjectInformation();
apiTokenService.checkSaltIsDefined();
transferService.token.checkSaltIsDefined();
tokenService.checkSecretIsDefined();

View File

@ -1,6 +1,9 @@
import EE from '@strapi/strapi/dist/utils/ee';
import type { Strapi } from '@strapi/types';
import { assign } from 'lodash/fp';
import { getService } from '../utils';
const sendDidInviteUser = async () => {
const numberOfUsers = await getService('user').count();
const numberOfRoles = await getService('role').count();
@ -19,13 +22,31 @@ const sendDidChangeInterfaceLanguage = async () => {
strapi.telemetry.send('didChangeInterfaceLanguage', { userProperties: { languagesInUse } });
};
const getProvidersListSSO = async () => {
const { providerRegistry } = strapi.admin.services.passport;
return providerRegistry.getAll().map(({ uid }) => uid);
}
const sendUpdateProjectInformation = async () => {
let groupProperties = {};
const numberOfActiveAdminUsers = await getService('user').count({ isActive: true });
const numberOfAdminUsers = await getService('user').count();
strapi.telemetry.send('didUpdateProjectInformation', {
groupProperties: { numberOfActiveAdminUsers, numberOfAdminUsers },
});
if (EE.features.isEnabled('sso')) {
const SSOProviders = await getProvidersListSSO();
groupProperties = assign(groupProperties, { SSOProviders });
}
groupProperties = assign(groupProperties, { numberOfActiveAdminUsers, numberOfAdminUsers });
console.log(groupProperties);
// strapi.telemetry.send('didUpdateProjectInformation', {
// groupProperties
// });
};
const startCron = (strapi: Strapi) => {
@ -39,5 +60,6 @@ export {
sendDidUpdateRolePermissions,
sendDidChangeInterfaceLanguage,
sendUpdateProjectInformation,
getProvidersListSSO,
startCron,
};