apipay 1.12.1 → 1.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAiBnD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC7C,OAAgB,WAAW,SAA8B;IAEzD,OAAgB,QAAQ,WAItB;IAEF,OAAgB,KAAK;;;;;;MAcnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA+BZ,kBAAkB;YA8DlB,iBAAiB;IA6C/B,OAAO,CAAC,KAAK;CAGb"}
|
package/dist/commands/login.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { Flags } from "@oclif/core";
|
|
2
2
|
import chalk from "chalk";
|
|
3
|
-
import open from "open";
|
|
4
3
|
import { BaseCommand } from "../lib/base-command.js";
|
|
5
|
-
import { clearApiKey, clearAuth, getAuth,
|
|
6
|
-
import { MAGIC_LINK_POLL_INTERVAL_MS, MAGIC_LINK_TIMEOUT_MS, } from "../lib/constants.js";
|
|
4
|
+
import { clearApiKey, clearAuth, getAuth, isLoggedIn, setAuth, } from "../lib/config.js";
|
|
7
5
|
import { info, kvLine, maskLongString, success, warn, } from "../lib/formatters.js";
|
|
8
6
|
import { promptConfirm, promptEmail } from "../lib/prompts.js";
|
|
9
7
|
export default class Login extends BaseCommand {
|
|
@@ -24,7 +22,7 @@ export default class Login extends BaseCommand {
|
|
|
24
22
|
description: "Password for email+password login (CI/scripting)",
|
|
25
23
|
}),
|
|
26
24
|
"no-browser": Flags.boolean({
|
|
27
|
-
description: "
|
|
25
|
+
description: "Accepted for compatibility; browser is not opened during CLI magic-link login",
|
|
28
26
|
default: false,
|
|
29
27
|
}),
|
|
30
28
|
};
|
|
@@ -44,17 +42,20 @@ export default class Login extends BaseCommand {
|
|
|
44
42
|
const email = flags.email ?? (await promptEmail());
|
|
45
43
|
// Password flow (for CI/scripting)
|
|
46
44
|
if (flags.password) {
|
|
47
|
-
warn("Passing --password on the command line stores it in shell history and may be visible in process lists.
|
|
45
|
+
warn("Passing --password on the command line stores it in shell history and may be visible in process lists.");
|
|
48
46
|
return this.loginWithPassword(email, flags.password);
|
|
49
47
|
}
|
|
50
48
|
// Magic link flow (default — best UX)
|
|
51
|
-
return this.loginWithMagicLink(email
|
|
49
|
+
return this.loginWithMagicLink(email);
|
|
52
50
|
}
|
|
53
|
-
async loginWithMagicLink(email
|
|
51
|
+
async loginWithMagicLink(email) {
|
|
54
52
|
this.spinner.start("Requesting magic link...");
|
|
55
53
|
let data;
|
|
56
54
|
try {
|
|
57
|
-
data = await this.api.post("/auth/magic-link/request", {
|
|
55
|
+
data = await this.api.post("/auth/magic-link/request", {
|
|
56
|
+
email,
|
|
57
|
+
client: "cli",
|
|
58
|
+
});
|
|
58
59
|
}
|
|
59
60
|
catch (error) {
|
|
60
61
|
this.spinner.fail("Failed to request magic link");
|
|
@@ -62,85 +63,42 @@ export default class Login extends BaseCommand {
|
|
|
62
63
|
}
|
|
63
64
|
const token = data?.data?.token ?? data?.token;
|
|
64
65
|
if (!token) {
|
|
65
|
-
this.spinner.fail("
|
|
66
|
-
|
|
66
|
+
this.spinner.fail("CLI magic-link login is not available");
|
|
67
|
+
info("For security, the server no longer returns magic-link tokens to API clients.");
|
|
68
|
+
info(`Use ${chalk.cyan("apipay login --email " + email + " --password <password>")} or sign in from the dashboard.`);
|
|
69
|
+
return;
|
|
67
70
|
}
|
|
68
|
-
this.spinner.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
this.spinner.text = "Completing magic-link login...";
|
|
72
|
+
try {
|
|
73
|
+
const authResult = await this.api.post("/auth/magic-link/verify", {
|
|
74
|
+
token,
|
|
75
|
+
client: "cli",
|
|
76
|
+
});
|
|
77
|
+
const result = authResult?.data ?? authResult;
|
|
78
|
+
const user = result?.user;
|
|
79
|
+
const tokens = result?.tokens;
|
|
80
|
+
if (!tokens?.accessToken) {
|
|
81
|
+
this.spinner.fail("Login failed");
|
|
82
|
+
this.error("Unexpected response from server", { exit: 2 });
|
|
79
83
|
}
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
setAuth({
|
|
85
|
+
accessToken: tokens.accessToken,
|
|
86
|
+
refreshToken: tokens.refreshToken,
|
|
87
|
+
expiresAt: Date.now() + (tokens.expiresIn ?? 900) * 1000,
|
|
88
|
+
email: user?.email ?? email,
|
|
89
|
+
userId: user?.id ?? "",
|
|
90
|
+
});
|
|
91
|
+
this.spinner.succeed("Authenticated!");
|
|
92
|
+
console.log("");
|
|
93
|
+
success(`Logged in as ${chalk.bold(user?.email ?? email)}`);
|
|
94
|
+
if (this.jsonOutput) {
|
|
95
|
+
this.outputJson({ email: user?.email, userId: user?.id });
|
|
82
96
|
}
|
|
83
97
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
while (Date.now() - startTime < MAGIC_LINK_TIMEOUT_MS) {
|
|
88
|
-
await this.sleep(MAGIC_LINK_POLL_INTERVAL_MS);
|
|
89
|
-
try {
|
|
90
|
-
const status = await this.api.get(`/auth/magic-link/status?token=${token}`);
|
|
91
|
-
const st = status?.data?.status ?? status?.status;
|
|
92
|
-
if (st === "verified") {
|
|
93
|
-
// Token has been consumed — now exchange for auth tokens
|
|
94
|
-
// The verify endpoint was already called by the browser;
|
|
95
|
-
// we need to call it ourselves too to get the tokens for CLI
|
|
96
|
-
try {
|
|
97
|
-
const authResult = await this.api.post("/auth/magic-link/verify", {
|
|
98
|
-
token,
|
|
99
|
-
});
|
|
100
|
-
const result = authResult?.data ?? authResult;
|
|
101
|
-
const user = result?.user;
|
|
102
|
-
const tokens = result?.tokens;
|
|
103
|
-
if (tokens?.accessToken) {
|
|
104
|
-
setAuth({
|
|
105
|
-
accessToken: tokens.accessToken,
|
|
106
|
-
refreshToken: tokens.refreshToken,
|
|
107
|
-
expiresAt: Date.now() + (tokens.expiresIn ?? 900) * 1000,
|
|
108
|
-
email: user?.email ?? email,
|
|
109
|
-
userId: user?.id ?? "",
|
|
110
|
-
});
|
|
111
|
-
this.spinner.succeed("Authenticated!");
|
|
112
|
-
console.log("");
|
|
113
|
-
success(`Logged in as ${chalk.bold(user?.email ?? email)}`);
|
|
114
|
-
if (this.jsonOutput) {
|
|
115
|
-
this.outputJson({ email: user?.email, userId: user?.id });
|
|
116
|
-
}
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
catch {
|
|
121
|
-
// Token already consumed by browser — that's expected.
|
|
122
|
-
// In this case, the CLI should have its own token.
|
|
123
|
-
// We'll try the password fallback or re-request.
|
|
124
|
-
this.spinner.fail("Magic link was verified in browser but could not retrieve tokens for CLI.");
|
|
125
|
-
info(`Please run ${chalk.cyan("apipay login --email " + email + " --password <password>")} instead.`);
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if (st === "expired") {
|
|
130
|
-
this.spinner.fail("Magic link expired");
|
|
131
|
-
this.error("The magic link has expired. Please try again.", {
|
|
132
|
-
exit: 1,
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
catch {
|
|
137
|
-
// Network error during poll — continue
|
|
138
|
-
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
this.spinner.fail("Magic-link login failed");
|
|
100
|
+
this.handleError(error);
|
|
139
101
|
}
|
|
140
|
-
this.spinner.fail("Authentication timed out");
|
|
141
|
-
this.error("Timed out waiting for authentication. Please try again.", {
|
|
142
|
-
exit: 1,
|
|
143
|
-
});
|
|
144
102
|
}
|
|
145
103
|
async loginWithPassword(email, password) {
|
|
146
104
|
this.spinner.start("Logging in...");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-banks.d.ts","sourceRoot":"","sources":["../../src/lib/client-banks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"client-banks.d.ts","sourceRoot":"","sources":["../../src/lib/client-banks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAW1C,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,CAEtD;AAgBD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAyBvD"}
|
package/dist/lib/client-banks.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { ApiClient } from "./api-client.js";
|
|
2
2
|
import { getApiBaseUrl } from "./config.js";
|
|
3
|
+
function getClientBanksBaseUrl() {
|
|
4
|
+
const baseUrl = getApiBaseUrl().replace(/\/+$/, "");
|
|
5
|
+
if (/\/v[12]$/.test(baseUrl)) {
|
|
6
|
+
return baseUrl.replace(/\/v[12]$/, "/v2");
|
|
7
|
+
}
|
|
8
|
+
return `${baseUrl}/v2`;
|
|
9
|
+
}
|
|
3
10
|
export function getClientBanksApi() {
|
|
4
|
-
return new ApiClient(
|
|
11
|
+
return new ApiClient(getClientBanksBaseUrl());
|
|
5
12
|
}
|
|
6
13
|
export function unwrapApiMessage(data) {
|
|
7
14
|
return (data?.message ?? data?.data ?? data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-banks.js","sourceRoot":"","sources":["../../src/lib/client-banks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE1C,MAAM,
|
|
1
|
+
{"version":3,"file":"client-banks.js","sourceRoot":"","sources":["../../src/lib/client-banks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE1C,SAAS,qBAAqB;IAC7B,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,OAAO,KAAK,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,OAAO,IAAI,SAAS,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAU,IAAS;IAClD,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,CAAM,CAAC;AACnD,CAAC;AAcD,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACrC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAChC,MAAM,KAAK,GAAU,EAAE,CAAC;IACxB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,GAAG,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CACzB,sBAAsB,IAAI,UAAU,eAAe,EAAE,EACrD,QAAQ,CACR,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAQ,IAAI,CAAC,CAAC;QAC7E,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAC1B,CAAC;QAED,UAAU;YACT,IAAI,EAAE,UAAU,EAAE,UAAU;gBAC5B,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,eAAe;oBAC/D,CAAC,CAAC,IAAI,GAAG,CAAC;oBACV,CAAC,CAAC,IAAI,CAAC,CAAC;QACV,IAAI,IAAI,CAAC,CAAC;IACX,CAAC,QAAQ,IAAI,IAAI,UAAU,EAAE;IAE7B,OAAO,KAAK,CAAC;AACd,CAAC"}
|