Recovery Codes
![Software License][ico-license]
, (*1)
Generate recovery/backup codes to provide a way for your users to recover from a lost two factor auth, or any problem with it., (*2)
Install
Via Composer, (*3)
``` bash
$ composer require pragmarx/recovery, (*4)
## Usage
#### Basic array usage
``` php
$this->recovery = new PragmaRX\Recovery();
$this->recovery->toArray();
Collection
If you are using Laravel or install a package like Collect, you can:, (*5)
``` php
$this->recovery->toCollection();, (*6)
You can also define a different collection function to be used:
``` php
$this->recovery->collectionFunction('alternateCollection');
$this->recovery->setCount(8)->toCollection();
Json result
``` php
$this->recovery->toJson();, (*7)
Should give you
``` json
[
"C0r2Xp4o1v-oG3pteKXw3",
"oLuSmVeJ7D-t4wnJVwkuC",
"XdPXXJy3J6-Gl3d0EwWt7",
"Bn8twjUJRt-Lv3KaAFwjR",
"SrnMagyGRg-eC7WPyFQ17",
"mRO4WPJpRN-hgfrUZqqZd",
"xBZtyFOrJZ-Tbpg0pSvzf",
"eiPFmwvJp0-oSqdNKclDH"
]
Changing the result values/sizes
``` php
$this->recovery
->setCount(8) // Generate 8 codes
->setBlocks(5) // Every code must have 7 blocks
->setChars(16) // Each block must have 16 chars
->toArray();, (*8)
Should give you
``` json
[
"0ldZb4vhamHEd8B3-Tmri54Lb0t52wefR-gbJaHTN44O9C1igf-HRdF185SXxDwcdRf",
"sFyrtezhjbFhCube-MszCKzvdsNL7QEY1-IY5OtpsFqM5d7jA7-t2mjCViRMHcMDdNZ",
"bjKMlcsPhNrpFpSN-IbJR2ebOeXCxXVVb-omZLu3Ki9ImIEqZh-1sK74zOADl86GGRs",
"wpa23eFj8PJcPdMG-E8A4LCwmd8iF8jt4-bVi2ltUEv29zoPJJ-pSetq2GD6euvZ9RA",
"EJ3SRDQlddr2e2hT-eF79n1lqndwhRM7G-HrjHEVyA9zHSLi8g-TrHzl5oaqPi1NgCT",
"lL7p4zjFxhQLND24-MEV1lmmyEKObjhhT-ldRWbOEnJLjBHmuc-Iex10bYAZ3NBljo2",
"uomVxkrjGYqOqmdm-AtI9MiqFEJjTlSRi-AUNEwwUfrJVP5iaH-uyrsFCrqzC3WcaAa"
]
Numeric or alpha?
``` php
$this->recovery
->numeric() // Generate numeric only codes
->toArray();, (*9)
$this->recovery
->alpha() // Get back to default alpha generation
->toArray();, (*10)
#### Upper, lower and mixed case
``` php
$this->recovery
->lowercase() // All lower
->toArray();
$this->recovery
->uppercase() // All upper
->toArray();
$this->recovery
->mixedcase() // Get back to default mixed case
->toArray();
Block separator
Usually -
is used as a block separator, but you can change it with:, (*11)
``` php
$this->recovery->setBlockSeparator('|')->toJson();, (*12)
## Change log
Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.
## Testing
``` bash
$ composer update
$ vendor/bin/phpunit
Contributing
Please see CONTRIBUTING for details., (*13)
Security
If you discover any security related issues, please email acr@antoniocarlosribeiro.com instead of using the issue tracker., (*14)
Credits
License
The MIT License (MIT). Please see License File for more information., (*15)