Git Product home page Git Product logo

conorgil / 2fa-notifier Goto Github PK

View Code? Open in Web Editor NEW
39.0 39.0 7.0 816 KB

2FA Notifier is a web extension that notifies users whether or not the sites they visit support two factor authentication (2FA).

Home Page: https://2fanotifier.org

License: MIT License

TypeScript 83.89% CSS 1.57% HTML 14.05% JavaScript 0.50%
2fa auth authentication chrome-extension chrome-extensions firefox-extension firefox-extensions firefox-webextension security twofa twofactor twofactorauth

2fa-notifier's People

Contributors

conorgil avatar designedbinary avatar domoritz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

2fa-notifier's Issues

Improve behavior of when notifications are shown

Currently, a notification is shown once per domain per browser session. The list of which domains have already been shown is only stored in memory, so restarting the browser will lose that info and start from scratch.

We should ask users for feedback on when to show notifications and then (likely) implement a few different options that users can configure.

Current ideas:

  • Show the notification once per domain (save this in storage so it persists between browser sessions)
  • If the user does NOT interact with the notification before it closes, then wait X time period and show the notification again when the domain is next loaded. For example, wait X days and then show it again.
  • Show the notification and require the user to interact with it in order to dismiss it. Provide options:
    • click the notification goes to the docs
    • close button closes the notification and reminds them in X time
    • button "I already setup 2FA on this site". Never remind them on this domain again.
  • Provide option to turn off the notifications entirely

On-boarding after install

Create an on-boarding process after the extension is installed.

  • Load a page on 2fanotifier.org that prompts the person to click the browser action button
  • Create a walkthrough wizard to explain what the extension is and how it works. Include pictures :)

Expand icon should disappear for now.

When user clicks the down arrow, the down arrow should disappear. The intended result is that the user cannot hide the expanded content.

Also make sure it is short enough not to trigger the scroll bars

Update manifest to have permissions to make requests

Before we blast this out on social media, I want the manifest to have permission to make requests to twofactorauth.org and 2fanotifier.org so that we have options on where to pull our data from. Adding them in now even if we don't use them will avoid the issue of asking users to allow updated permissions down the road.

Resolve URL redirects where possible

Identify existing URLs that redirect to some other domain. The data includes both a service name and a service URL. The URL should be the fully resolved domain where possible so that tools like 2FAN can take action on it. The service name (not the URL) can be displayed in the UI if necessary, so the fact that the URL might point somewhere "weird" looking isn't really a problem if that is the true destination of the redirects.

Relates to #42

Add Typi Library

Need to wait for gulp integration and ability to use/compile sass

Add missing Google services

  • add all of the subdomains for Google services. For example, there is no entry for docs.google.com
  • create PRs to add these entries to twofactorauth.org

Add 2FAN icon to the Chrome Web Store

We do not have a 2FAN icon yet, so we might be able to get away with the green shield icon for now. Most important thing is to get an icon in the Chrome Web Store listing so that 2FAN looks more legit.

Use live json data

Currently, the JSON file is hardcoded. Pull down the live version from twofactorauth.org/data.json

Encoding issues on feedback and about page

Fix the text encoding on the feedback page:

Do you find this extension helpful? Annoying? Is there something you’d like to see changed or added?

We’d love to hear from you! Drop us a line at [email protected]

and the About page:

If you are interested in jumping into the code for 2FAN, we’ve open sourced everything on our Github repo here.

Improve testing

We have ignored automated testing so far because < insert unconvincing reason here >. Testing is critical because < insert a bajillion reasons here > and we should do better.

  • write a document listing the specific steps to test the extension before publishing an updated version. This will all be manual, but having a list reduces the chance of skipping/forgetting something. Step in the right direction.
  • research the best way to write automated tests for a web extension and then do those things

Improve recommendations on what to do for websites that do not support 2FA

Currently, we have two plain text bullet points recommending:

- Create a unique password
- Use a password manager

These are both sound pieces of advice, but are not actionable by the average user. We should recommend more specific steps to take, such as recommending a specific password manager(s), linking to resources on what makes a good password, not to reuse passwords between accounts, etc.

2FA methods needs more context

Users do not know what to do with the information presented in the 2FA methods section.

Help them make a decision about what they are looking at.

Make a "security" scale

2fa Methods should link to more details page

Most users do not know what each 2fa method does. Should link to 2FA documentation that shows this information and helps them to make a decision.

  • Each item should link to a specific article
  • Create article that explains all options

Introduce third "unknown" state

Currently, 2FAN only reports "Yes, 2FA supported" or "No, 2FA not supported". We should introduce a third state "We are not sure. You should check" so that we don't tell people that a site does NOT support 2FA when it actually might. If the site is not included in our dataset, then we currently report that as "no 2fa", but that is misleading.

What should the UX be for the third case where the site is not present in our dataset, so we are unsure whether or not it supports 2FA?

Add social media sharing capabilities

Update the browser action popup menu to include some kind of links to allow people to easily post on social media. This will have the same goals as twofactorauth.org and will also help publicize 2FAN

Translate the app into other languages

We will need to enlist the help of the community to accomplish this.

Things to do to facilitate this larger effort:

  1. Create a document clearly explaining how to update the app to add a language
  2. Create individual issues for each language to be supported
  3. Go out and locate native speakers in multiple languages and request that they translate the app into that language

Handle sites that have no doc URL

screen shot 2018-05-15 at 12 05 08 am

We are not handling the scenario where there is no doc field for a given site. The link has href="#", but also target="_blank", so it opens a new page and shows the same page as the popup menu. Clearly, this looks horribly broken.

How should we handle this scenario?

Ideas:

  • Create a page on 2fanotifier.org and link to that
  • Replace the button with some default text
  • Display the exception text from the twofactorauth.org if it is present

Chrome for Linux eports extension as being corrupted

I get this situation reliably by:

  • Running Chrome with the extension installed and enabled
  • Going to a site that supports 2FA like github.com
  • Clicking on the green 2FA Notifier button in the browser toolbar
  • The button disappears, and in chrome://extensions, it shows

screenshot from 2018-05-02 21-06-34

Choosing the repair option does seem to work, but the flow is repeatable after the repair.

Extension version 0.2.1
Chrome version 66.0.3359.139

Allow desktop notifications to be disabled

I like the idea of having an icon in my Chrome extensions, but think the desktop notifications should be optional.

I do recognize that it's "smart", and only shows on the first load of a new site, but would like to disable it for all sites moving forward.

Update messaging of CTA button for sites that support 2FA

Fixing up the messaging so it is more clear that we bring the user to the documentation that explains how to enable 2FA and that we don't actually enable 2FA. Through user testing, we saw that people were confused what clicking the "Enable 2FA" button would do and asked "Will this enable 2FA if I click this button?".

Button should say something more along the lines of "How to enable 2FA" or "learn more"

Onboarding v1

Need initial onboarding.

Onboarding should minimally convey:

  • How notifications work
  • The action bar icons, how they change, what they mean
  • Where to find additional information (menu button)

Only pop notification for the current tab

Currently, a notification is shown any time a page loads in a tab. This is means that a notification will show if I open a bunch of new tabs and they load in the background.

Change it so that a notification is only shown for the domain in the current tab.

Clean all of the data

We discovered through user testing that the data from twofactorauth.org needs lots of TLC for it to be actionable for users of 2FAN. This issue is to document some of those current issues and brainstorm ways to manually or automatically clean up the data. Where possible, improvements should be shared upstream with twofactorauth.org

  • change linkedin.com to www.linkedin.com
  • chase.com and several other sites have a doc entry that is actually a local path. This points to a page on twofactorauth.org, but the doc field should be a FQDN. Fix these entries.
  • create PRs on twofactorauth.org for these changes

Fix the install link on the website

The link to the Chrome store has some extraneous query params on the end which should be removed so that people can actually install the thing...oops

Split the website into its own repo

In hindsight, putting the website into the same repo as the extension causes some conflicts among the CHANGELOG.md file, the versioning, etc. It might make more sense to have them in separate repos since they will not be revving at the same pace, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.