github icon indicating copy to clipboard operation
github copied to clipboard

Working with two-factor authentication

Open ddimitrioglo opened this issue 8 years ago • 3 comments

As mentioned in github API:

In addition to the Basic Authentication credentials, you must send the user's authentication code (i.e., one-time password) in the X-GitHub-OTP header.

And we will be able to use it like this:

const github = new GitHub({
    username: 'ddimitrioglo',
    password: 'xxxxxxxxxxxx',
    otp: '888999' // <= One-Time-Password
});

let me = github.getUser();

me.listRepos((err, repos) => {
    console.log(repos);
});

ddimitrioglo avatar May 09 '17 19:05 ddimitrioglo

@clayreimann @CodyGramlich any idea how we would run tests on this? Seems like it may not be doable? Does GitHub provide any service you're aware of that would make testing possible?

j-rewerts avatar Apr 07 '19 23:04 j-rewerts

@j-rewerts I think to add tests for this we'd have to create a test user, set them up with OTP, and then commit the secret/salt/QR code/whatever so that we could use something like [this library][opt-lib] to generate the OTP during tests. (That library is not a specific recommendation, just doing a quick search to see if there is likely to be a library that will work)

Thinking a bit more, we might need to have the configuration specify a callback that returns a current OTP value.

clayreimann avatar Apr 09 '19 21:04 clayreimann

It seems like it could be possible. I'll sit on this for a bit and try to get something workable together.

j-rewerts avatar Apr 09 '19 22:04 j-rewerts