@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 +24 -4
- package/dist/client.d.ts +4 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/package.json +2 -2
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.
|
|
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 `
|
|
37
|
-
are not at the standard paths, set `OIDC_AUTHORIZATION_ENDPOINT` /
|
|
38
|
-
`authorizationEndpoint` / `tokenEndpoint`) and
|
|
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
|
-
|
|
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`. */
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
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 ||
|
|
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",
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AACrC,
|
|
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": "
|
|
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": "^
|
|
23
|
+
"@uveysservetoglu/kobil-core": "^3.0.0"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
26
|
"build": "tsc -b"
|