@uveysservetoglu/kobil-sign 1.0.0 → 2.0.0
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.
- package/README.md +14 -7
- package/dist/client.d.ts +7 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -5
- package/dist/client.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -9,14 +9,9 @@ npm install @uveysservetoglu/kobil-sign
|
|
|
9
9
|
```ts
|
|
10
10
|
import { SignClient } from "@uveysservetoglu/kobil-sign";
|
|
11
11
|
|
|
12
|
+
// OIDC_ISSUER, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET, MPOWER_BASE and MPOWER_TENANT come from
|
|
13
|
+
// the environment; only the callback is app-specific.
|
|
12
14
|
const sign = new SignClient({
|
|
13
|
-
// credentials (or KOBIL_* env vars):
|
|
14
|
-
tokenEndpoint: process.env.KOBIL_TOKEN_ENDPOINT!,
|
|
15
|
-
clientId: process.env.KOBIL_CLIENT_ID!,
|
|
16
|
-
clientSecret: process.env.KOBIL_CLIENT_SECRET!,
|
|
17
|
-
// sign-specific:
|
|
18
|
-
signBaseUrl: "https://idp.cloud.kobil.com/auth/realms/{TENANT}/mpower/v1/users/{USER_ID}",
|
|
19
|
-
tenantName: "acme",
|
|
20
15
|
defaultCallbackUrl: "https://yourapi.com/signature-callback",
|
|
21
16
|
});
|
|
22
17
|
|
|
@@ -32,6 +27,18 @@ const res = await sign.initiatePdfSignature({
|
|
|
32
27
|
|
|
33
28
|
`{TENANT}` is filled from `tenantName`, `{USER_ID}` from the call; `/signature` is appended.
|
|
34
29
|
|
|
30
|
+
## Environment
|
|
31
|
+
|
|
32
|
+
| Variable | Meaning |
|
|
33
|
+
|---|---|
|
|
34
|
+
| `OIDC_ISSUER` | Realm issuer URL; the token endpoint is derived from it. |
|
|
35
|
+
| `OIDC_CLIENT_ID` / `OIDC_CLIENT_SECRET` | Client credentials. The id is also the default `serviceUuid`. |
|
|
36
|
+
| `MPOWER_BASE` | mPower origin — signing shares it with chat. `{base}/auth/realms/{TENANT}/mpower/v1/users/{USER_ID}` is derived from it. |
|
|
37
|
+
| `MPOWER_TENANT` | Tenant/realm substituted for `{TENANT}`. |
|
|
38
|
+
|
|
39
|
+
Pass `signBaseUrl` or `tenantName` to override. These are the names the SuperApp emulator publishes at
|
|
40
|
+
`/__superapp/control/env`.
|
|
41
|
+
|
|
35
42
|
### How it maps to the API
|
|
36
43
|
|
|
37
44
|
`POST {signBaseUrl}/signature` as `multipart/form-data`:
|
package/dist/client.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { KobilCredentials, KobilError, KobilServiceClient, TokenProvider } from "@uveysservetoglu/kobil-core";
|
|
2
2
|
import { InitiateSignatureInput, SignatureResult } from "./types";
|
|
3
3
|
export interface SignClientOptions extends Partial<KobilCredentials> {
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Signature endpoint template up to the user segment, with {TENANT} and {USER_ID}.
|
|
6
|
+
* Derived from `MPOWER_BASE` when omitted — signing and chat share the same host.
|
|
7
|
+
*/
|
|
8
|
+
signBaseUrl?: string;
|
|
9
|
+
/** Tenant/realm name substituted for {TENANT}. Falls back to `MPOWER_TENANT`. */
|
|
7
10
|
tenantName?: string;
|
|
8
11
|
/** serviceUuid sent with the request. Optional: defaults to clientId. */
|
|
9
12
|
serviceUuid?: string;
|
|
@@ -21,7 +24,7 @@ export declare class SignClient extends KobilServiceClient {
|
|
|
21
24
|
private readonly serviceUuidOption?;
|
|
22
25
|
private readonly defaultCallbackUrl?;
|
|
23
26
|
private readonly version;
|
|
24
|
-
constructor(options
|
|
27
|
+
constructor(options?: SignClientOptions);
|
|
25
28
|
protected makeError(message: string, statusCode?: number, responseBody?: string, cause?: unknown): KobilError;
|
|
26
29
|
initiatePdfSignature(input: InitiateSignatureInput, signal?: AbortSignal): Promise<SignatureResult>;
|
|
27
30
|
private signatureUrl;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,aAAa,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,aAAa,EAGd,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAClE;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,kDAAkD;AAClD,qBAAa,UAAW,SAAQ,kBAAkB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,GAAE,iBAAsB;cAsBxB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU;IAItH,oBAAoB,CAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAwBnG,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW;CAGpB"}
|
package/dist/client.js
CHANGED
|
@@ -11,7 +11,7 @@ class SignClient extends kobil_core_1.KobilServiceClient {
|
|
|
11
11
|
serviceUuidOption;
|
|
12
12
|
defaultCallbackUrl;
|
|
13
13
|
version;
|
|
14
|
-
constructor(options) {
|
|
14
|
+
constructor(options = {}) {
|
|
15
15
|
const credentials = (0, kobil_core_1.credentialsFromEnv)({
|
|
16
16
|
tokenEndpoint: options.tokenEndpoint,
|
|
17
17
|
clientId: options.clientId,
|
|
@@ -21,10 +21,11 @@ class SignClient extends kobil_core_1.KobilServiceClient {
|
|
|
21
21
|
tokenExpirySkewSeconds: options.tokenExpirySkewSeconds,
|
|
22
22
|
});
|
|
23
23
|
super(options.tokenProvider ?? new kobil_core_1.DefaultTokenProvider(credentials));
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
this.
|
|
24
|
+
const signBaseUrl = options.signBaseUrl || (0, kobil_core_1.mpowerUserEndpoint)(process.env.MPOWER_BASE);
|
|
25
|
+
if (!signBaseUrl)
|
|
26
|
+
throw new kobil_core_1.KobilError("No signature endpoint: set MPOWER_BASE (or pass signBaseUrl).");
|
|
27
|
+
this.signBaseUrl = signBaseUrl;
|
|
28
|
+
this.tenantName = options.tenantName ?? process.env.MPOWER_TENANT;
|
|
28
29
|
this.clientId = credentials.clientId;
|
|
29
30
|
this.serviceUuidOption = options.serviceUuid;
|
|
30
31
|
this.defaultCallbackUrl = options.defaultCallbackUrl;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uveysservetoglu/kobil-sign",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "KOBIL digital signature client for Node.js: initiate PDF signatures with automatic OAuth token management.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"url": "https://github.com/uveysservetoglu/kobil-sdks"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@uveysservetoglu/kobil-core": "^
|
|
22
|
+
"@uveysservetoglu/kobil-core": "^2.0.0"
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
25
|
"build": "tsc -b"
|