{ "name": "LoginNotify", "version": "0.1", "author": [ "Brian Wolff" ], "url": "https://www.mediawiki.org/wiki/Extension:LoginNotify", "descriptionmsg": "loginnotify-desc", "license-name": "MIT", "type": "other", "requires": { "MediaWiki": ">= 1.31.0", "extensions": { "Echo": "*" } }, "DefaultUserOptions": { "echo-subscriptions-web-login-fail": true, "echo-subscriptions-email-login-fail": true, "echo-subscriptions-web-login-success": false, "echo-subscriptions-email-login-success": true }, "MessagesDirs": { "LoginNotify": [ "i18n" ] }, "AutoloadNamespaces": { "LoginNotify\\": "includes/" }, "Hooks": { "BeforeCreateEchoEvent": [ "LoginNotify\\Hooks::onBeforeCreateEchoEvent" ], "EchoGetBundleRules": [ "LoginNotify\\Hooks::onEchoGetBundleRules" ], "AuthManagerLoginAuthenticateAudit": [ "LoginNotify\\Hooks::onAuthManagerLoginAuthenticateAudit" ], "LocalUserCreated": [ "LoginNotify\\Hooks::onLocalUserCreated" ] }, "JobClasses": { "LoginNotifyChecks": "LoginNotify\\DeferredChecksJob" }, "config": { "LoginNotifyAttemptsKnownIP": { "description": "The number of failed login attempts to permit from a known IP before a notification is triggered.", "value": 5 }, "LoginNotifyExpiryKnownIP": { "description": "The time-to-live of the count of failed login attempts from a known IP (from the time of the first failed attempt).", "value": 604800 }, "LoginNotifyAttemptsNewIP": { "description": "The number of failed login attempts to permit from a new IP before a notification is triggered.", "value": 1 }, "LoginNotifyExpiryNewIP": { "description": "The time-to-live of the count of failed login attempts from a new IP (from the time of the first failed attempt).", "value": 1209600 }, "LoginNotifyCheckKnownIPs": { "description": "Whether to trigger a notification after failed logins from known IPs.", "value": true }, "LoginNotifyEnableOnSuccess": { "description": "Whether to trigger a notification after successful logins from unknown IPs.", "value": true }, "LoginNotifySecretKey": { "description": "Override this to use a different secret than $wgSecretKey", "value": null }, "LoginNotifyCookieExpire": { "description": "Expiry in seconds. Default is 180 days", "value": 15552000 }, "LoginNotifyCookieDomain": { "description": "Override to allow sharing login cookies between sites on different subdomains", "value": null }, "LoginNotifyMaxCookieRecords": { "description": "Maximum number of users (records) to track as having successfully logged in on a particular device.", "value": 6 }, "LoginNotifyCacheLoginIPExpiry": { "description": "Set to false to disable caching IPs in memcache. Set to 0 to cache forever. Default 60 days.", "value": 5184000 } }, "manifest_version": 2 }