20 lines
723 B
JavaScript
20 lines
723 B
JavaScript
#! /usr/bin/env runjs
|
|
|
|
function generateLoginUrl() {
|
|
var exp = (new Date().getTime() + 1000*10) + '';
|
|
var digest_hex = __.digests.sha256().digest(__.bytes.from(exp).bytes()).asHex();
|
|
var result = $$.shell().commands('card-cli', 'piv-ecsign', '-s', 'r1', '-x', digest_hex, '--json').start();
|
|
var out = result[0].string();
|
|
var outJson = JSON.parse(out);
|
|
var signatureBase64 = outJson.signed_data_base64;
|
|
return 'https://hatter.ink/login/direct_sign_login.jssp?__auth_before=' + exp + '&__auth_keys=&__auth_sign=' + encodeURIComponent(signatureBase64);
|
|
}
|
|
|
|
function main() {
|
|
var url = generateLoginUrl();
|
|
println('Open URL: ' + url);
|
|
$$.shell().commands('open', url).start();
|
|
}
|
|
|
|
main();
|