Skip to content

Commit

Permalink
Merge branch 'release/3.0.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
rhukster committed May 9, 2019
2 parents 099bacf + 471d93a commit 59a63be
Show file tree
Hide file tree
Showing 8 changed files with 34 additions and 6 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
# 3.0.2
## 05/09/2019

1. [](#new)
* Added `ru` and `uk` translations [#208](https://github.com/getgrav/grav-plugin-login/pulls/208)
1. [](#improved)
* Fixed typo in README.md
* Added support for IPv6 addresses for login rate limiting @Vivalldi [#204](https://github.com/getgrav/grav-plugin-login/issues/204)

# 3.0.1
## 04/17/2019

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ A good location is probably to add this right above where your content is going

# Creating Users

You can either use the built-in CLI capabilities, or you create a user manually by creating a new YAML file in your `user/acounts` folder.
You can either use the built-in CLI capabilities, or you create a user manually by creating a new YAML file in your `user/accounts` folder.


# CLI Usage
Expand Down
14 changes: 12 additions & 2 deletions blueprints.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Login
version: 3.0.1
version: 3.0.2
testing: false
description: Enables user authentication and login screen.
icon: sign-in
Expand All @@ -13,7 +13,7 @@ bugs: https://github.com/getgrav/grav-plugin-login/issues
license: MIT

dependencies:
- { name: grav, version: '>=1.6.0' }
- { name: grav, version: '>=1.6.7' }
- { name: form, version: '>=3.0.0' }
- { name: email, version: '>=3.0.0' }

Expand Down Expand Up @@ -409,3 +409,13 @@ form:
validate:
type: number
min: 1

ipv6_subnet_size:
type: number
size: x-small
label: PLUGIN_LOGIN.IPV6_SUBNET_SIZE
help: PLUGIN_LOGIN.IPV6_SUBNET_SIZE_HELP
append: PLUGIN_LOGIN.MINUTES
validate:
type: number
min: 1
4 changes: 3 additions & 1 deletion classes/Controller.php
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,9 @@ public function taskLogin()
$messages = $this->grav['messages'];

$userKey = (string)($this->post['username'] ?? '');
$ipKey = Uri::ip();
$ip = Uri::ip();
$isIPv4 = filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4);
$ipKey = $isIPv4 ? $ip : Utils::getSubnet($ip, $this->grav['config']->get('plugins.login.ipv6_subnet_size'));

// Is twofa enabled?
$twofa = $this->grav['config']->get('plugins.login.twofa_enabled', false);
Expand Down
4 changes: 3 additions & 1 deletion languages/en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -131,4 +131,6 @@ PLUGIN_LOGIN:
2FA_REGENERATE: "Regenerate"
BTN_CANCEL: "Cancel"
MANUALLY_ENABLE: "Manually Enable"
MANUALLY_ENABLE_HELP: "When using 'activation email' and 'notification email', you can ensure the user can self activate, but requires manually enabling the user to login"
MANUALLY_ENABLE_HELP: "When using 'activation email' and 'notification email', you can ensure the user can self activate, but requires manually enabling the user to login"
IPV6_SUBNET_SIZE: "IPv6 Subnet Size"
IPV6_SUBNET_SIZE_HELP: "The number of IPv6 addresses typically assigned to a machine"
2 changes: 2 additions & 0 deletions languages/ru.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ PLUGIN_LOGIN:
MAX_LOGINS_INTERVAL_HELP: "Временной интервал для значения счетчика входа"
TOO_MANY_LOGIN_ATTEMPTS: "Слишком много неудачных попыток входа в настроенное время (%s минут)"
SECONDS: "секунд"
MINUTES: "минут"
RESETS: "сбросов"
ATTEMPTS: "попыток"
ROUTES: "Маршруты"
Expand All @@ -123,6 +124,7 @@ PLUGIN_LOGIN:
2FA_REGEN_HINT: "Чтобы восстановить секрет, вам потребуется обновить приложение для аутентификации"
2FA_FAILED: "Недопустимый код проверки подлинности 2-факторной аутентификации, повторите попытку...."
2FA_ENABLED: "2FA Включена"
2FA_ENABLED_HELP: "Включает двухфакторную аутентификацию для всех пользователей"
2FA_CODE_INPUT: "000000"
2FA_SECRET: "2FA Секрет"
2FA_SECRET_HELP: "Сканируйте этот QR-код в свое [Приложение аутентификации](https://learn.getgrav.org/admin-panel/2fa#apps). Также рекомендуется сохранить секрет в безопасном месте, если вам прийдется переустановить приложение. Проверьте [Grav docs](https://learn.getgrav.org/admin-panel/2fa) для дополнительной информации "
Expand Down
4 changes: 3 additions & 1 deletion languages/uk.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ PLUGIN_LOGIN:
MAX_LOGINS_INTERVAL_HELP: "Часовий інтервал для значення лічильника входу"
TOO_MANY_LOGIN_ATTEMPTS: "Занадто багато невдалих спроб входу в налаштований час (%s хвилин)"
SECONDS: "секунд"
MINUTES: "хвилин"
RESETS: "скидань"
ATTEMPTS: "спроб"
ROUTES: "Маршрути"
Expand All @@ -122,7 +123,8 @@ PLUGIN_LOGIN:
2FA_INSTRUCTIONS: "##### 2-факторна аутентифікація\nУ вашому обліковому запису включена **2FA**. Будь ласка, використовуйте свою **2FA** програму для введення цього **6-значного коду** для завершення процесу входу в систему."
2FA_REGEN_HINT: "Щоб відновити секрет, вам буде потрібно оновити програму для аутентифікації"
2FA_FAILED: "Неприпустимий код перевірки справжності 2-факторної аутентифікації, спробуйте ще раз...."
2FA_ENABLED: "2FA Включена"
2FA_ENABLED: "2FA Увімкнено"
2FA_ENABLED_HELP: "Вмикає двухфакторную аутентифікацію для всіх користувачів"
2FA_CODE_INPUT: "000000"
2FA_SECRET: "2FA Секрет"
2FA_SECRET_HELP: "Відскануйте цей QR-код у свою [Програму аутентифікації](https://learn.getgrav.org/admin-panel/2fa#apps). Також рекомендується зберегти секрет в безпечному місці, якщо вам доведеться перевстановити програму. Перевірте [Grav docs](https://learn.getgrav.org/admin-panel/2fa) для додаткової інформації "
Expand Down
1 change: 1 addition & 0 deletions login.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ max_pw_resets_count: 2 # Number of password resets in a spe
max_pw_resets_interval: 60 # Time in minutes to track password resets
max_login_count: 5 # Number of failed login attempts in a specific time frame (0 = unlimited)
max_login_interval: 10 # Time in minutes to track login attempts
ipv6_subnet_size: 64 # Size of IPv6 block to track login attempts

user_registration:
enabled: false # Enable User Registration Process
Expand Down

0 comments on commit 59a63be

Please sign in to comment.