Toggle navigation
Toggle navigation
This project
Loading...
Sign in
tools
/
totp-key
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
lintry
2017-06-22 15:24:26 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
c97c5898a46d92bf460b60614a9ad796558cc031
c97c5898
1 parent
3075d553
二维码生成时返回图片内容和url
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
7 deletions
lib/authenticator.js
test/authenticator.test.js
lib/authenticator.js
View file @
c97c589
...
...
@@ -27,7 +27,7 @@ const Authenticator = function (secret, options) {
* 验证token有效性
* @param token
*/
this
.
verify
=
function
(
token
)
{
this
.
verify
=
function
(
token
)
{
return
speakeasy
.
totp
.
verify
(
_
.
merge
({},
TOTP_OPTIONS
,
{
token
:
token
}));
};
...
...
@@ -36,7 +36,7 @@ const Authenticator = function (secret, options) {
* @param token
* @param window
*/
this
.
verifyDelta
=
function
(
token
,
window
)
{
this
.
verifyDelta
=
function
(
token
,
window
)
{
return
speakeasy
.
totp
.
verifyDelta
(
_
.
merge
({},
TOTP_OPTIONS
,
{
token
:
token
,
window
:
window
}));
};
...
...
@@ -54,10 +54,14 @@ const Authenticator = function (secret, options) {
* 生成svg的QR图片内容
* @param label
* @param issuer
* @return {*
}
* @return {{content: *, url: string}
}
*/
this
.
getQR
=
function
(
label
,
issuer
)
{
return
qr
.
imageSync
(
this
.
getOtpAuthURL
(
label
,
issuer
),
{
type
:
'svg'
});
this
.
getQR
=
function
(
label
,
issuer
)
{
let
url
=
this
.
getOtpAuthURL
(
label
,
issuer
);
return
{
content
:
qr
.
imageSync
(
url
,
{
type
:
'svg'
}),
url
:
url
};
};
/**
...
...
test/authenticator.test.js
View file @
c97c589
...
...
@@ -41,11 +41,12 @@ fs.ensureDir(img_path, function (err, added_root) {
}
added_root
&&
console
.
log
(
chalk
.
green
(
img_path
+
' is created'
));
let
qr
=
authenticator
.
getQR
(
'totp@gitlab.kmlab.com'
,
'通行密钥'
);
let
fd
=
fs
.
openSync
(
qr
,
'w'
);
fs
.
writeSync
(
fd
,
authenticator
.
getQR
(
'totp@gitlab.kmlab.com'
,
'通行密钥'
)
);
fs
.
writeSync
(
fd
,
qr
.
content
);
fs
.
closeSync
(
fd
);
console
.
log
(
chalk
.
green
(
'密钥字符串'
),
chalk
.
yellow
(
authenticator
.
getOtpAuthURL
(
'totp@gitlab.kmlab.com'
,
'通行密钥'
)
))
console
.
log
(
chalk
.
green
(
'密钥字符串'
),
chalk
.
yellow
(
qr
.
url
))
});
console
.
log
(
'QR SVG output is'
,
img_path
,
qr
);
\ No newline at end of file
...
...
Please
register
or
login
to post a comment