Skip to content
This repository has been archived by the owner on Dec 20, 2018. It is now read-only.

Feature Request: Make the One Time Password code configurable/extensible #465

Closed
jakeswenson opened this issue May 14, 2015 · 9 comments
Closed
Milestone

Comments

@jakeswenson
Copy link

I am very interested in changing the default time step of the code generating One Time Passwords (OTPs) from 3 minutes to 30 seconds. This is because there are apps out there that are using that time step (and is the recommended time step by the RFC)

I have started the work here: https://github.com/jakeswenson/Identity/tree/feature/abstracting-one-time-passwords-into-interfaces

If there is interest in this, I can submit a pull request after my CLA is processed.

@HaoK
Copy link
Member

HaoK commented May 14, 2015

If you are only interested in configuring the time step, would it be sufficient for us to expose that in an options setting for our implementation? We certainly could expose interfaces for this like you are heading, but I'm not sure we really need that complexity if our implementation is good enough 95% of the time. Custom implementations already can be plugged in via the IUserTokenProvider.

That said, we haven't really revisited any of these designs for V3 yet, so @divega @blowdart @rustd we should review this stuff and see if we want to tidy anything up...

@jakeswenson
Copy link
Author

@HaoK an options may work nicely, yes. also something to control the number of digits would be nice. My main goal is having the ability to use TOTP from my authenticator app. I think that'd be a nice 2fa scenario to hit.

@jakeswenson
Copy link
Author

To be clear, there are a couple of things to note about the current OTP code.
Right now it's tied to 3 minute timesteps with a fixed skew of 2 steps either side. That mean there is a total of 15 minutes where the one-time password is valid...

There are three main 2FA options:

  • Email (3 minutes seems reasonable here)
  • SMS (3 minutes, for 15 minutes total window seems too big)
  • Authenticator apps (30 second timestep required, total window for allowed skew should be configurable, but i would think 0-1 time step seems reasonable. Should consult the RFC for advice)

I think we need to be able to configure a OTP provider per type of 2FA verification, each having its own options.

@blowdart
Copy link
Member

One per provider seems fair.

@rustd rustd added this to the 3.0.0-beta5 milestone May 18, 2015
@rustd rustd modified the milestones: 3.0.0-beta5, 3.0.0-beta6 Jun 1, 2015
@HaoK
Copy link
Member

HaoK commented Jun 29, 2015

Not going to happen this week, moving to beta 7

@HaoK HaoK modified the milestones: 3.0.0-beta7, 3.0.0-beta6 Jun 29, 2015
@jakeswenson
Copy link
Author

Is there a plan for this to be in the RTM? Would it be ok if i try and tackle this to help get this done?

Thanks!

@HaoK
Copy link
Member

HaoK commented Jul 31, 2015

Go for it, submit a PR!

@HaoK
Copy link
Member

HaoK commented Jul 31, 2015

Its on my list of things to do, but that list appears to be growing faster than I'm able to finish things lately

@HaoK HaoK modified the milestones: 3.0.0-beta8, 3.0.0-beta7 Aug 10, 2015
@rustd rustd modified the milestones: Backlog, 3.0.0-beta8 Sep 21, 2015
@rustd rustd unassigned HaoK Sep 21, 2015
@HaoK
Copy link
Member

HaoK commented Nov 18, 2016

So we added the ability to provide a specific token provider instance which we hope is enough to allow you to configure things, if this isn't enough, we can consider more improvements in the future.

@HaoK HaoK closed this as completed Nov 18, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants