Skip to content

Commit

Permalink
Add recipe for Phone Verification Bundle (#1541)
Browse files Browse the repository at this point in the history
* alexgeno/phone-verification-bundle/1.0 receipt

* Delete post-install.txt

* Fix check error: Text files should end with a newline

* Fix check error: Wrong bundle name

* Manifest.json improvements

* Manifest.json improvements

* Modify packages/snc_redis.yaml to set default redis connection

* Modify packages/snc_redis.yaml to set default redis connection

* Add routes

* Add routes
  • Loading branch information
alexeygeno authored Sep 16, 2023
1 parent 68eee13 commit 9149324
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
alex_geno_phone_verification:
storage:
driver: redis # redis || mongodb
redis:
connection: default
mongodb:
connection: default
sender:
transport: vonage
manager:
otp:
length: '%env(int:PHONE_VERIFICATION_OTP_LENGTH)%'
rate_limits:
initiate: #for every 'to' no more than 'count' initiations over 'period_secs' seconds
period_secs: '%env(int:PHONE_VERIFICATION_RATE_LIMIT_INITIATE_PERIOD_SECS)%'
count: '%env(int:PHONE_VERIFICATION_RATE_LIMIT_INITIATE_COUNT)%'
complete: #for every 'to' no more than 'count' failed completions over 'period_secs' seconds
period_secs: '%env(int:PHONE_VERIFICATION_RATE_LIMIT_COMPLETE_PERIOD_SECS)%' # this is also the expiration period for OTP
count: '%env(int:PHONE_VERIFICATION_RATE_LIMIT_COMPLETE_COUNT)%'
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
phone_verification_initiate:
path: /phone-verification/initiate/{to}
controller: AlexGeno\PhoneVerificationBundle\Controller\PhoneVerificationController::initiate
methods: POST
phone_verification_complete:
path: /phone-verification/complete/{to}/{otp}
controller: AlexGeno\PhoneVerificationBundle\Controller\PhoneVerificationController::complete
methods: POST
27 changes: 27 additions & 0 deletions alexgeno/phone-verification-bundle/1.0/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"bundles": {
"AlexGeno\\PhoneVerificationBundle\\AlexGenoPhoneVerificationBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"#0": "1000..9999",
"PHONE_VERIFICATION_OTP_LENGTH": "4",
"#1": "for every 'to' no more than 10 initiations over 24 hours",
"PHONE_VERIFICATION_RATE_LIMIT_INITIATE_PERIOD_SECS": "86400",
"PHONE_VERIFICATION_RATE_LIMIT_INITIATE_COUNT": "10",
"#2": "for every 'to' no more than 5 failed completions over 5 minutes",
"PHONE_VERIFICATION_RATE_LIMIT_COMPLETE_PERIOD_SECS": "300",
"PHONE_VERIFICATION_RATE_LIMIT_COMPLETE_COUNT": "5"
},
"add-lines": [
{
"file": "config/packages/snc_redis.yaml",
"position": "after_target",
"warn_if_missing": true,
"target": " clients:",
"content": " default:\n type: predis\n alias: default\n dsn: \"%env(REDIS_URL)%\""
}
]
}

0 comments on commit 9149324

Please # to comment.