@ascencia/id-core 0.1.0-rc.1 → 0.1.0-rc.2
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 +13 -3
- package/package.json +2 -2
- package/src/client.ts +13 -1
package/README.md
CHANGED
|
@@ -41,12 +41,22 @@ alors chez vous et le navigateur ne reçoit qu'un cookie.
|
|
|
41
41
|
|
|
42
42
|
## TypeScript
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
Les paquets sont publiés en **source TypeScript**, sans étape de compilation.
|
|
45
|
+
Avec Next.js, il faut donc les transpiler — et **déclarer toute la chaîne, pas
|
|
46
|
+
seulement ce qu'on importe** :
|
|
46
47
|
|
|
47
48
|
```ts
|
|
48
49
|
// next.config.ts
|
|
49
|
-
transpilePackages: [
|
|
50
|
+
transpilePackages: [
|
|
51
|
+
'@ascencia/id-rbac', // dépendance de core et server, jamais importée
|
|
52
|
+
'@ascencia/id-core',
|
|
53
|
+
'@ascencia/id-server',
|
|
54
|
+
],
|
|
50
55
|
```
|
|
51
56
|
|
|
57
|
+
`@ascencia/id-rbac` est le piège : on ne l'importe jamais soi-même, donc on
|
|
58
|
+
l'oublie. Le typecheck reste vert — il lit le TypeScript — et c'est le bundler
|
|
59
|
+
qui échoue, sur un `Unexpected token` au milieu d'un fichier qu'on n'a pas
|
|
60
|
+
écrit.
|
|
61
|
+
|
|
52
62
|
MIT · [Documentation](https://id.ascencia.re/help)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ascencia/id-core",
|
|
3
|
-
"version": "0.1.0-rc.
|
|
3
|
+
"version": "0.1.0-rc.2",
|
|
4
4
|
"description": "Client OIDC d'Ascencia ID – agnostique de tout framework, zéro dépendance runtime.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"LICENSE"
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@ascencia/id-rbac": "0.1.0-rc.
|
|
23
|
+
"@ascencia/id-rbac": "0.1.0-rc.2"
|
|
24
24
|
},
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"repository": {
|
package/src/client.ts
CHANGED
|
@@ -33,7 +33,19 @@ import type {
|
|
|
33
33
|
User,
|
|
34
34
|
} from './types';
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
/*
|
|
37
|
+
* `ascencia.perms` est dans les défauts, et ce n'est pas du confort.
|
|
38
|
+
*
|
|
39
|
+
* `AscenciaContext.can()` est l'API principale du SDK, et elle lit la
|
|
40
|
+
* revendication `perms` — que seul ce scope fait émettre. Sans lui, `can()`
|
|
41
|
+
* rend **false pour tout**, sans erreur, sans avertissement : l'application
|
|
42
|
+
* refuse tout le monde et rien n'explique pourquoi.
|
|
43
|
+
*
|
|
44
|
+
* Constaté en branchant la première application cliente. Une API principale
|
|
45
|
+
* qui ne marche pas avec les réglages par défaut n'est pas un réglage à
|
|
46
|
+
* documenter, c'est un défaut à corriger.
|
|
47
|
+
*/
|
|
48
|
+
const DEFAULT_SCOPES = ['openid', 'profile', 'email', 'ascencia.roles', 'ascencia.perms'];
|
|
37
49
|
const DEFAULT_SKEW_SECONDS = 60;
|
|
38
50
|
const DEFAULT_CONTEXT_TTL_MS = 60_000;
|
|
39
51
|
|