@uveysservetoglu/kobil-auth 2.0.0 → 3.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 CHANGED
@@ -25,17 +25,37 @@ const tokens = await auth.exchangeCodeForToken(code, "https://app.example.com/ca
25
25
 
26
26
  JavaScript usage is identical (`const { AuthClient } = require("@uveysservetoglu/kobil-auth")`).
27
27
 
28
+ ## API mode
29
+
30
+ The login page is the identity provider's in both modes: `{OIDC_ISSUER}/protocol/openid-connect/auth`.
31
+ Where the code is exchanged depends on the mode (see `@uveysservetoglu/kobil-core`):
32
+
33
+ | Mode | Token endpoint |
34
+ |---|---|
35
+ | `"miniapp"` (default) | `{MINIAPP_API_BASE}/v1/auth/tokens/{realm}` — the realm is read from the issuer |
36
+ | `"legacy"` | `{OIDC_ISSUER}/protocol/openid-connect/token` |
37
+
38
+ The user token you get back can act for that user in the other modules — the MiniApp API recommends
39
+ it for calls that target a `userId`:
40
+
41
+ ```ts
42
+ import { StaticTokenProvider } from "@uveysservetoglu/kobil-core";
43
+ const chat = new ChatClient({ tokenProvider: new StaticTokenProvider(String(tokens.access_token)) });
44
+ ```
45
+
28
46
  ## Environment
29
47
 
30
48
  | Variable | Meaning |
31
49
  |---|---|
32
- | `OIDC_ISSUER` | Realm issuer URL. `…/protocol/openid-connect/auth` and `…/token` are derived from it. |
50
+ | `OIDC_ISSUER` | Realm issuer URL. The login page — and, per mode, the token endpoint — are derived from it. |
33
51
  | `OIDC_CLIENT_ID` | Client id. |
34
52
  | `OIDC_CLIENT_SECRET` | Client secret. |
53
+ | `KOBIL_API_MODE` | `miniapp` (default) or `legacy`. |
54
+ | `MINIAPP_API_BASE` | MiniApp API origin (miniapp mode). Default `https://miniapp-api.cloud.kobil.com`. |
35
55
 
36
- Pass `issuer`, `clientId` or `clientSecret` to override any of them. For a deployment whose endpoints
37
- are not at the standard paths, set `OIDC_AUTHORIZATION_ENDPOINT` / `OIDC_TOKEN_ENDPOINT` (or pass
38
- `authorizationEndpoint` / `tokenEndpoint`) and the issuer is not consulted for that one.
56
+ Pass `issuer`, `clientId`, `clientSecret`, `apiMode`, `apiBaseUrl` or `realm` to override any of them.
57
+ For a deployment whose endpoints are not at the standard paths, set `OIDC_AUTHORIZATION_ENDPOINT` /
58
+ `OIDC_TOKEN_ENDPOINT` (or pass `authorizationEndpoint` / `tokenEndpoint`) and that one is used as-is.
39
59
 
40
60
  These are the same names the other KOBIL modules read and the same ones the SuperApp emulator
41
61
  publishes at `/__superapp/control/env`.
package/dist/client.d.ts CHANGED
@@ -1,7 +1,9 @@
1
- export interface AuthClientOptions {
1
+ import { KobilApiOptions } from "@uveysservetoglu/kobil-core";
2
+ export interface AuthClientOptions extends KobilApiOptions {
2
3
  /**
3
4
  * Realm issuer URL. Both endpoints are derived from it, so this is normally the only URL you set.
4
- * Falls back to `OIDC_ISSUER`.
5
+ * Falls back to `OIDC_ISSUER`. The login page is always on the issuer; in miniapp mode the code is
6
+ * exchanged at the MiniApp API's `/v1/auth/tokens/{realm}`, with the realm read from the issuer.
5
7
  */
6
8
  issuer?: string;
7
9
  /** Falls back to `OIDC_CLIENT_ID`. */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAcD;;;;;;GAMG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;gBAE9B,OAAO,GAAE,iBAAsB;IA+B3C,6EAA6E;IAC7E,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAclD,qFAAqF;IAC/E,oBAAoB,CACxB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAsCpC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EAGhB,MAAM,6BAA6B,CAAC;AAKrC,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAcD;;;;;;GAMG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;gBAE9B,OAAO,GAAE,iBAAsB;IA8B3C,6EAA6E;IAC7E,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAclD,qFAAqF;IAC/E,oBAAoB,CACxB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAsCpC"}
package/dist/client.js CHANGED
@@ -20,7 +20,7 @@ class AuthClient {
20
20
  authorizationEndpoint: options.authorizationEndpoint ||
21
21
  process.env.OIDC_AUTHORIZATION_ENDPOINT ||
22
22
  (0, kobil_core_1.authorizationEndpointFor)(issuer),
23
- tokenEndpoint: options.tokenEndpoint || process.env.OIDC_TOKEN_ENDPOINT || (0, kobil_core_1.tokenEndpointFor)(issuer),
23
+ tokenEndpoint: options.tokenEndpoint || (0, kobil_core_1.defaultTokenEndpoint)(options, issuer),
24
24
  clientId: options.clientId ?? process.env.OIDC_CLIENT_ID ?? "",
25
25
  clientSecret: options.clientSecret ?? process.env.OIDC_CLIENT_SECRET ?? "",
26
26
  scope: options.scope ?? "openid",
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
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-auth",
3
- "version": "2.0.0",
3
+ "version": "3.0.0",
4
4
  "description": "KOBIL OIDC (OpenID Connect) authentication helper for Node.js: build authorization URLs and exchange authorization codes for tokens.",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -20,7 +20,7 @@
20
20
  "url": "https://github.com/uveysservetoglu/kobil-sdks"
21
21
  },
22
22
  "dependencies": {
23
- "@uveysservetoglu/kobil-core": "^2.0.0"
23
+ "@uveysservetoglu/kobil-core": "^3.0.0"
24
24
  },
25
25
  "scripts": {
26
26
  "build": "tsc -b"