@svadmin/sso 0.11.2 → 0.11.5

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.
@@ -85,6 +85,9 @@ function readOptionalTokenString(response, field, fallback, fallbackMessage) {
85
85
  ? fallback
86
86
  : requireTokenString(response, field, fallbackMessage);
87
87
  }
88
+ function authorizationScheme(tokenType) {
89
+ return tokenType.toLowerCase() === 'bearer' ? 'Bearer' : tokenType;
90
+ }
88
91
  function normalizeTokenResponse(body, defaults, fallbackMessage) {
89
92
  const response = readTokenResponse(body, fallbackMessage);
90
93
  const accessToken = requireTokenString(response, 'access_token', fallbackMessage);
@@ -93,7 +96,7 @@ function normalizeTokenResponse(body, defaults, fallbackMessage) {
93
96
  id_token: typeof response.id_token === 'string' ? response.id_token : defaults.idToken,
94
97
  refresh_token: readOptionalTokenString(response, 'refresh_token', defaults.refreshToken, fallbackMessage),
95
98
  expires_at: getAccessTokenExpiry(response, accessToken),
96
- token_type: readOptionalTokenString(response, 'token_type', defaults.tokenType, fallbackMessage) ?? defaults.tokenType,
99
+ token_type: authorizationScheme(readOptionalTokenString(response, 'token_type', defaults.tokenType, fallbackMessage) ?? defaults.tokenType),
97
100
  };
98
101
  }
99
102
  function generateRandomString(length) {
@@ -349,7 +352,7 @@ export function createSSOAuthProvider(config) {
349
352
  const accessToken = await sessions.getAccessToken(options);
350
353
  const session = sessions.getSession();
351
354
  return accessToken && session?.access_token === accessToken
352
- ? `${session.token_type} ${accessToken}`
355
+ ? `${authorizationScheme(session.token_type)} ${accessToken}`
353
356
  : null;
354
357
  },
355
358
  };
@@ -413,9 +416,10 @@ export function createSSOAuthProvider(config) {
413
416
  sessions.clearSession();
414
417
  }
415
418
  try {
416
- const endpoints = await discover();
417
- if (typeof window !== 'undefined' && endpoints.end_session_endpoint) {
418
- const logoutUrl = new URL(endpoints.end_session_endpoint, window.location.href);
419
+ const endSessionEndpoint = config.endSessionEndpoint
420
+ ?? (await discover()).end_session_endpoint;
421
+ if (typeof window !== 'undefined' && endSessionEndpoint) {
422
+ const logoutUrl = new URL(endSessionEndpoint, window.location.href);
419
423
  logoutUrl.searchParams.set('client_id', config.clientId);
420
424
  logoutUrl.searchParams.delete('id_token_hint');
421
425
  if (session?.id_token)
package/package.json CHANGED
@@ -1,12 +1,14 @@
1
1
  {
2
2
  "name": "@svadmin/sso",
3
- "version": "0.11.2",
3
+ "version": "0.11.5",
4
4
  "type": "module",
5
5
  "description": "OIDC/OAuth2 SSO AuthProvider plugin for svadmin — supports Okta, Azure AD, Cognito, Keycloak, Google",
6
6
  "license": "MIT",
7
7
  "keywords": [
8
8
  "svadmin",
9
9
  "sso",
10
+ "auth",
11
+ "authentication",
10
12
  "oidc",
11
13
  "oauth2",
12
14
  "okta",
@@ -32,10 +34,10 @@
32
34
  "dist"
33
35
  ],
34
36
  "peerDependencies": {
35
- "@svadmin/core": "^0.32.2"
37
+ "@svadmin/core": "^0.33.0"
36
38
  },
37
39
  "devDependencies": {
38
- "typescript": "^6.0.3"
40
+ "typescript": "^7.0.2"
39
41
  },
40
42
  "scripts": {
41
43
  "build": "bun ../../scripts/build-node-package.ts"