Pitu / vue-isyourpasswordsafe

A small utility written in Vue that checks if the given password has been leaked against the Have I Been Pwned API.
https://pitu.github.io/vue-isyourpasswordsafe
MIT License
37 stars 3 forks source link

NPM version NPM downloads GitHub license Chat / Support Support me Support me

Introduction

Troy Hunt has repeatedly made a wonderful job keeping up with good security measures regarding personal data, more specificaly making the site Have I Been Pwned. On his latest blog post he explains a new technique to search through the database of leaked passwords in a smart and fast way giving developers a tool to ensure that a user is not signing up their projects with compromised passwords.

Developers should start making sure that their users don't use compromised passwords, and by using this directive on your inputs you can take the first step into achieving that.

Installation

yarn add vue-isyourpasswordsafe
# or
npm i vue-isyourpasswordsafe

Breaking changes in v2.0.0

Before v2.0.0 this plugin offered a custom component that has now been deprecated in favor of a directive.

Usage

All you need to do is initialize the plugin to be able to use the directive or the custom method explained below.

import VueIsYourPasswordSafe from 'vue-isyourpasswordsafe'
Vue.use(VueIsYourPasswordSafe);

Make sure to check the example, but once loaded you can use it in your own component and react to the emitted @safe event to check for the boolean result:

<input v-model="password" v-ispasswordsafe @safe="isPasswordSafe"

You can also manually check for a password with the Vue.prototype method programatically:

const isSafe = await this.$isPasswordSafe('test');

Notable sites/projects using Vue-IsYourPasswordSafe

Contributing

  1. Fork it
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request

Author

vue-isyourpasswordsafe © Pitu, Released under the MIT License.
Authored and maintained by Pitu.

GitHub @Pitu · Twitter @Pitu