Merge pull request #9 from olssonm/dev

Dev
This commit is contained in:
Marcus Olsson 2018-06-09 17:33:02 +02:00 committed by GitHub
commit 671e9f6cad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 58 additions and 25 deletions

18
.scrutinizer.yml Normal file
View File

@ -0,0 +1,18 @@
filter:
excluded_paths: [tests/*]
checks:
php:
remove_extra_empty_lines: true
remove_php_closing_tag: true
remove_trailing_whitespace: true
fix_use_statements:
remove_unused: true
preserve_multiple: false
preserve_blanklines: true
order_alphabetically: true
fix_php_opening_tag: true
fix_linefeed: true
fix_line_ending: true
fix_identation_4spaces: true
fix_doc_comments: true

View File

@ -1,12 +1,13 @@
language: php
before_install:
sudo: false
before_script:
- travis_retry composer self-update
- composer require "illuminate/support:${ILLUMINATE_VERSION}" --no-update
- travis_retry composer require "illuminate/support:${ILLUMINATE_VERSION}"
install: composer update --prefer-source --no-interaction --dev
script: composer test
script:
- phpunit
matrix:
include:
@ -20,5 +21,7 @@ matrix:
env: ILLUMINATE_VERSION=5.5.*
- php: 7.1
env: ILLUMINATE_VERSION=5.6.*
- php: 7.2
env: ILLUMINATE_VERSION=5.6.*
- php: nightly
env: ILLUMINATE_VERSION=5.6.*

View File

@ -1,6 +1,6 @@
# The MIT License (MIT)
Copyright (c) 2017 Marcus Olsson <contact@marcusolsson.me>
Copyright (c) 2018 Marcus Olsson <contact@marcusolsson.me>
> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal

View File

@ -4,6 +4,9 @@
[![Total downloads][ico-downloads]][link-packagist]
[![Software License][ico-license]](LICENSE.md)
[![Build Status][ico-travis]][link-travis]
[![Scrutinizer Score][ico-scrutinizer]][link-scrutinizer]
![zxcvbn](https://user-images.githubusercontent.com/907114/41193108-747d9b50-6c08-11e8-8f9c-57874f52fa9b.png)
A simple implementation of zxcvbn for Laravel 5. This package allows you to access "zxcvbn-related" data on a passphrase in the application and also to use zxcvbn as a standard validator.
@ -13,13 +16,13 @@ Uses [Zxcvbn-PHP](https://github.com/bjeavons/zxcvbn-php) by [@bjeavons](https:/
Via Composer
``` bash
```bash
$ composer require olssonm/l5-zxcvbn
```
Add the package to your providers array:
``` php
```php
'providers' => [
Olssonm\Zxcvbn\ZxcvbnServiceProvider::class,
]
@ -27,7 +30,7 @@ Add the package to your providers array:
If you wish to have the ability to use `Zxcvbn` via dependency injection, or just have a quick way to access the class add an alias to the facades:
``` php
```php
'aliases' => [
'Zxcvbn' => Olssonm\Zxcvbn\Facades\Zxcvbn::class
]
@ -39,7 +42,7 @@ If you've added `Olssonm\Zxcvbn` as an alias, your can access Zxcvbn easily from
### "In app"
``` php
```php
<?php
use Zxcvbn;
@ -80,7 +83,7 @@ The package gives you two different validation rules that you may use; `zxcvbn_m
**Example**
``` php
```php
<?php
$data = ['password' => 'password'];
$validator = Validator::make($data, [
@ -102,7 +105,7 @@ This is a bit more interesting. `zxcvbn_dictionary` allows you to input both the
**Example**
``` php
```php
<?php
/**
* Example 1, pass
@ -137,25 +140,34 @@ This is a bit more interesting. `zxcvbn_dictionary` allows you to input both the
## Testing
``` bash
```bash
$ composer test
```
or
``` bash
```bash
$ phpunit
```
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
The MIT License (MIT). Please see the [License File](LICENSE.md) for more information.
© 2017 [Marcus Olsson](https://marcusolsson.me).
© 2018 [Marcus Olsson](https://marcusolsson.me).
[ico-version]: https://img.shields.io/packagist/v/olssonm/l5-zxcvbn.svg?style=flat-square
[ico-downloads]: https://img.shields.io/packagist/dt/olssonm/l5-zxcvbn.svg?style=flat-square
[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square
[ico-travis]: https://img.shields.io/travis/olssonm/l5-zxcvbn/master.svg?style=flat-square
[ico-scrutinizer]: https://img.shields.io/scrutinizer/g/olssonm/l5-zxcvbn.svg?style=flat-square
[link-packagist]: https://packagist.org/packages/olssonm/l5-zxcvbn
[link-travis]: https://travis-ci.org/olssonm/l5-zxcvbn
[link-scrutinizer]: https://scrutinizer-ci.com/g/olssonm/l5-zxcvbn

View File

@ -18,19 +18,19 @@ class ZxcvbnServiceProvider extends ServiceProvider
/**
* Extend the Laravel Validator with the "zxcvbn_min" rule
*/
Validator::extend('zxcvbn_min', function($attribute, $value, $parameters, $validator) {
Validator::extend('zxcvbn_min', function($attribute, $value, $parameters) {
$zxcvbn = new ZxcvbnPhp();
$zxcvbn = $zxcvbn->passwordStrength($value);
$target = 5;
if(isset($parameters[0])) {
if (isset($parameters[0])) {
$target = $parameters[0];
}
return ($zxcvbn['score'] >= $target);
}, 'Your :attribute is not secure enough.');
Validator::replacer('zxcvbn_min', function($message, $attribute, $rule, $parameters) {
Validator::replacer('zxcvbn_min', function($message, $attribute) {
$message = str_replace(':attribute', $attribute, $message);
return $message;
});
@ -38,11 +38,11 @@ class ZxcvbnServiceProvider extends ServiceProvider
/**
* Extend the Laravel Validator with the "zxcvbn_min" rule
*/
Validator::extend('zxcvbn_dictionary', function($attribute, $value, $parameters, $validator) {
Validator::extend('zxcvbn_dictionary', function($attribute, $value, $parameters) {
$email = null;
$username = null;
if(isset($parameters[0])) {
if (isset($parameters[0])) {
$email = $parameters[0];
$username = $parameters[1];
}
@ -50,9 +50,9 @@ class ZxcvbnServiceProvider extends ServiceProvider
$zxcvbn = new ZxcvbnPhp();
$zxcvbn = $zxcvbn->passwordStrength($value, [$username, $email]);
if(isset($zxcvbn['match_sequence'][0])) {
if (isset($zxcvbn['match_sequence'][0])) {
$dictionary = $zxcvbn['match_sequence'][0];
if(isset($dictionary->dictionaryName)) {
if (isset($dictionary->dictionaryName)) {
return false;
}
}
@ -61,7 +61,7 @@ class ZxcvbnServiceProvider extends ServiceProvider
}, 'Your :attribute is insecure. It either matches a commonly used password, or you have used a similar username/password combination.');
Validator::replacer('zxcvbn_dictionary', function($message, $attribute, $rule, $parameters) {
Validator::replacer('zxcvbn_dictionary', function($message, $attribute) {
$message = str_replace(':attribute', $attribute, $message);
return $message;
});
@ -74,7 +74,7 @@ class ZxcvbnServiceProvider extends ServiceProvider
*/
public function register()
{
$this->app->bind('zxcvbn', function ($app) {
$this->app->bind('zxcvbn', function($app) {
return new ZxcvbnPhp();
});
}