steroids / auth
Requires
- php: >=7.4
- ext-curl: *
- ext-mbstring: *
- lib-pcre: *
- bacon/bacon-qr-code: ^2.0
- google/apiclient: ^2.5
- league/oauth2-facebook: ^2.0
- pragmarx/google2fa: ^8.0
- steroids/core: ^2.0@beta
- vkcom/vk-php-sdk: ^5.101
- dev-master
- 2.0.0-beta.53
- 2.0.0-beta.52
- 2.0.0-beta.51
- 2.0.0-beta.50
- 2.0.0-beta.49
- 2.0.0-beta.48
- 2.0.0-beta.47
- 2.0.0-beta.46
- 2.0.0-beta.45
- 2.0.0-beta.44
- 2.0.0-beta.43
- 2.0.0-beta.42
- 2.0.0-beta.41
- 2.0.0-beta.40
- 2.0.0-beta.39
- 2.0.0-beta.38
- 2.0.0-beta.37
- 2.0.0-beta.36
- 2.0.0-beta.35
- 2.0.0-beta.34
- 2.0.0-beta.33
- 2.0.0-beta.32
- 2.0.0-beta.31
- 2.0.0-beta.30
- 2.0.0-beta.29
- 2.0.0-beta.28
- 2.0.0-beta.27
- 2.0.0-beta.26
- 2.0.0-beta.25
- 2.0.0-beta.24
- 2.0.0-beta.23
- 2.0.0-beta.22
- 2.0.0-beta.21
- 2.0.0-beta.20
- 2.0.0-beta.19
- 2.0.0-beta.18
- 2.0.0-beta.17
- 2.0.0-beta.16
- 2.0.0-beta.15
- 2.0.0-beta.14
- 2.0.0-beta.13
- 2.0.0-beta.12
- 2.0.0-beta.11
- 2.0.0-beta.10
- 2.0.0-beta.9
- 2.0.0-beta.8
- 2.0.0-beta.7
- 2.0.0-beta.6
- 2.0.0-beta.5
- 2.0.0-beta.4
- 2.0.0-beta.3
- 2.0.0-beta.2
- dev-szverev
This package is auto-updated.
Last update: 2024-10-29 05:59:29 UTC
README
1. Email/phone/login + password *(если isPasswordAvailable = true)
1.1 Регистрация
RegistrationForm
[login] (email/phone/login)
[password]
[...custom attrubites]
1.2 Регистрация -> Подтверждение
ConfirmForm
[email/phone]
[code]
1.3 Вход
LoginForm
[login] (email/phone/login)
[password]
1.4 Вход -> Подтверждение *(если isPasswordAvailable = false)
ConfirmForm
[email/phone]
[code]
1.5 Восстановление
RecoveryPasswordForm
[login] (email/phone)
1.6 Восстановление -> Подтверждение
RecoveryPasswordConfirmForm
[login] (email/phone)
[code]
2. Вход/регистрация через социальные сети (oauth)
2.1 Вход/регистрация
ProviderlLoginForm
[socialParams]
2.2 Ввод email (если социальная сеть не выдала его)
SocialEmailForm
[uid]
[email]
2.2 Ввод email/phone -> Подтверждение
SocialConfirmForm
[uid]
[email]
[code]
Использование 2FA
- В конфигурации необходимо объявить провайдеры, которые могут использоваться для 2fa, их сейчас может быть два -
notifier
иgoogle
.
'modules' => [
'auth' => [
'twoFactorProviders' => [
'notifier' => [],
],
],
],
- В формах, где необходима 2FA, необходимо добавить TwoFactorRequireValidator
[
'amount',
TwoFactorRequireValidator::class,
'userId' => $this->user->primaryKey,
'providerName' => 'notifier',
'codeAttribute' => 'code',
]
Последний параметр codeAttribute
не обязательный. Он необходим для случая, когда 2fa используется и обрабатывается
на фронтенде прям в форме (с помощью onTwoFactor обработчика компонента Form
) и затем форма отправляет те же данные, только с кодом
подтверждения (code
).
Если обработчик onTwoFactor
не указывается на фронтенде, то код будет вводить в отдельной форме (например, в модальном окне)
и отправляться на бекенд методом POST /api/v1/auth/2fa/<providerName>/confirm
. Тогда codeAttribute
указывать не нужно.