Я пытаюсь получить активных пользователей, которые вошли в систему за последнюю неделю. но есть только один API, который дает активные сеансы (пользователи). есть ли способ получить все активные идентификаторы пользователей или количество пользователей, которые вошли в систему за одну неделю?
Я попробовал API /sessions API, который дал мне только активных пользователей.
Если вы используете IS-6.0.0, эту опцию можно использовать.
[identity_mgt.events.schemes.identityUserMetadataMgtHandler.properties]
enable=true
Он обновит отметку времени входа в претензию http://wso2.org/claims/identity/lastLogonTime
.
Образец СВЕРТКИ:
curl --location --request GET 'https://localhost:9443/scim2/Users?filter=urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.lastLogonTime+ge+1674065031350+and+urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.lastLogonTime+le+1674065770177&count=10&startIndex=1' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
ПРИМЕЧАНИЕ. Эта фильтрация будет работать только в том случае, если заданы параметры разбиения на страницы.
filter=urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.lastLogonTime+ge+1674065031350+and+urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.lastLogonTime+le+1674065770177
-> означает, что фильтруются пользователи, у которых время последнего входа в систему больше 1674065031350 и меньше 1674065770177.
Затем вам нужно написать собственный обработчик событий ganganichamika.medium.com/…, который подписан на событие POST_AUTHENTICATION
, из этого обработчика обновите количество входов пользователя в систему. Чтобы сохранить это свойство, необходимо добавить пользовательское утверждение. Затем сопоставьте пользовательское утверждение с новым утверждением scim, чтобы получить количество входов в полезные данные пользователя scim.
Спасибо @Анурадха Карунаратна. это сработало для меня. Но я также хотел, сколько раз пользователь входил в систему.