@multiplatform.one/keycloak 1.0.5 → 1.0.6
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/dist/cjs/Authenticated.js +52 -0
- package/dist/cjs/Authenticated.js.map +6 -0
- package/dist/cjs/Authenticated.native.js +90 -0
- package/dist/cjs/Authenticated.native.js.map +6 -0
- package/dist/cjs/apollo.js +64 -0
- package/dist/cjs/apollo.js.map +6 -0
- package/dist/cjs/apollo.native.js +95 -0
- package/dist/cjs/apollo.native.js.map +6 -0
- package/dist/cjs/authConfig.js +24 -0
- package/dist/cjs/authConfig.js.map +6 -0
- package/dist/cjs/authConfig.native.js +28 -0
- package/dist/cjs/authConfig.native.js.map +6 -0
- package/dist/cjs/hooks/index.js +17 -0
- package/dist/cjs/hooks/index.js.map +6 -0
- package/dist/cjs/hooks/index.native.js +23 -0
- package/dist/cjs/hooks/index.native.js.map +6 -0
- package/dist/cjs/hooks/useAuthConfig.js +24 -0
- package/dist/cjs/hooks/useAuthConfig.js.map +6 -0
- package/dist/cjs/hooks/useAuthConfig.native.js +28 -0
- package/dist/cjs/hooks/useAuthConfig.native.js.map +6 -0
- package/dist/cjs/hooks/useTokensFromQuery/index.js +28 -0
- package/dist/cjs/hooks/useTokensFromQuery/index.js.map +6 -0
- package/dist/cjs/hooks/useTokensFromQuery/index.native.js +27 -0
- package/dist/cjs/hooks/useTokensFromQuery/index.native.js.map +6 -0
- package/dist/cjs/hooks/useTokensFromState.js +25 -0
- package/dist/cjs/hooks/useTokensFromState.js.map +6 -0
- package/dist/cjs/hooks/useTokensFromState.native.js +29 -0
- package/dist/cjs/hooks/useTokensFromState.native.js.map +6 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +33 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/cjs/keycloak/config.js +27 -0
- package/dist/cjs/keycloak/config.js.map +6 -0
- package/dist/cjs/keycloak/config.native.js +30 -0
- package/dist/cjs/keycloak/config.native.js.map +6 -0
- package/dist/cjs/keycloak/context.js +23 -0
- package/dist/cjs/keycloak/context.js.map +6 -0
- package/dist/cjs/keycloak/context.native.js +26 -0
- package/dist/cjs/keycloak/context.native.js.map +6 -0
- package/dist/cjs/keycloak/index.js +16 -0
- package/dist/cjs/keycloak/index.js.map +6 -0
- package/dist/cjs/keycloak/index.native.js +21 -0
- package/dist/cjs/keycloak/index.native.js.map +6 -0
- package/dist/cjs/keycloak/keycloak.js +134 -0
- package/dist/cjs/keycloak/keycloak.js.map +6 -0
- package/dist/cjs/keycloak/keycloak.native.js +369 -0
- package/dist/cjs/keycloak/keycloak.native.js.map +6 -0
- package/dist/cjs/provider/AfterAuth.js +37 -0
- package/dist/cjs/provider/AfterAuth.js.map +6 -0
- package/dist/cjs/provider/AfterAuth.native.js +55 -0
- package/dist/cjs/provider/AfterAuth.native.js.map +6 -0
- package/dist/cjs/provider/AuthProvider/AuthProvider.js +175 -0
- package/dist/cjs/provider/AuthProvider/AuthProvider.js.map +6 -0
- package/dist/cjs/provider/AuthProvider/AuthProvider.native.js +414 -0
- package/dist/cjs/provider/AuthProvider/AuthProvider.native.js.map +6 -0
- package/dist/cjs/provider/AuthProvider/index.js +15 -0
- package/dist/cjs/provider/AuthProvider/index.js.map +6 -0
- package/dist/cjs/provider/AuthProvider/index.native.js +19 -0
- package/dist/cjs/provider/AuthProvider/index.native.js.map +6 -0
- package/dist/cjs/provider/KeycloakProvider.js +45 -0
- package/dist/cjs/provider/KeycloakProvider.js.map +6 -0
- package/dist/cjs/provider/KeycloakProvider.native.js +49 -0
- package/dist/cjs/provider/KeycloakProvider.native.js.map +6 -0
- package/dist/cjs/provider/index.js +17 -0
- package/dist/cjs/provider/index.js.map +6 -0
- package/dist/cjs/provider/index.native.js +23 -0
- package/dist/cjs/provider/index.native.js.map +6 -0
- package/dist/cjs/routes.js +136 -0
- package/dist/cjs/routes.js.map +6 -0
- package/dist/cjs/routes.native.js +395 -0
- package/dist/cjs/routes.native.js.map +6 -0
- package/dist/cjs/session/index.js +15 -0
- package/dist/cjs/session/index.js.map +6 -0
- package/dist/cjs/session/index.native.js +19 -0
- package/dist/cjs/session/index.native.js.map +6 -0
- package/dist/cjs/session/session.js +49 -0
- package/dist/cjs/session/session.js.map +6 -0
- package/dist/cjs/session/session.native.js +157 -0
- package/dist/cjs/session/session.native.js.map +6 -0
- package/dist/cjs/state.js +35 -0
- package/dist/cjs/state.js.map +6 -0
- package/dist/cjs/state.native.js +36 -0
- package/dist/cjs/state.native.js.map +6 -0
- package/dist/cjs/token.js +30 -0
- package/dist/cjs/token.js.map +6 -0
- package/dist/cjs/token.native.js +35 -0
- package/dist/cjs/token.native.js.map +6 -0
- package/dist/cjs/types.js +14 -0
- package/dist/cjs/types.js.map +6 -0
- package/dist/cjs/types.native.js +14 -0
- package/dist/cjs/types.native.js.map +6 -0
- package/dist/esm/Authenticated.js +34 -0
- package/dist/esm/Authenticated.js.map +6 -0
- package/dist/esm/Authenticated.mjs +48 -0
- package/dist/esm/Authenticated.native.js +67 -0
- package/dist/esm/Authenticated.native.js.map +6 -0
- package/dist/esm/apollo.js +49 -0
- package/dist/esm/apollo.js.map +6 -0
- package/dist/esm/apollo.mjs +44 -0
- package/dist/esm/apollo.native.js +74 -0
- package/dist/esm/apollo.native.js.map +6 -0
- package/dist/esm/authConfig.js +8 -0
- package/dist/esm/authConfig.js.map +6 -0
- package/dist/esm/authConfig.mjs +6 -0
- package/dist/esm/authConfig.native.js +8 -0
- package/dist/esm/authConfig.native.js.map +6 -0
- package/dist/esm/hooks/index.js +4 -0
- package/dist/esm/hooks/index.js.map +6 -0
- package/dist/esm/hooks/index.mjs +3 -0
- package/dist/esm/hooks/index.native.js +4 -0
- package/dist/esm/hooks/index.native.js.map +6 -0
- package/dist/esm/hooks/useAuthConfig.js +9 -0
- package/dist/esm/hooks/useAuthConfig.js.map +6 -0
- package/dist/esm/hooks/useAuthConfig.mjs +6 -0
- package/dist/esm/hooks/useAuthConfig.native.js +9 -0
- package/dist/esm/hooks/useAuthConfig.native.js.map +6 -0
- package/dist/esm/hooks/useTokensFromQuery/index.js +13 -0
- package/dist/esm/hooks/useTokensFromQuery/index.js.map +6 -0
- package/dist/esm/hooks/useTokensFromQuery/index.mjs +14 -0
- package/dist/esm/hooks/useTokensFromQuery/index.native.js +7 -0
- package/dist/esm/hooks/useTokensFromQuery/index.native.js.map +6 -0
- package/dist/esm/hooks/useTokensFromState.js +10 -0
- package/dist/esm/hooks/useTokensFromState.js.map +6 -0
- package/dist/esm/hooks/useTokensFromState.mjs +7 -0
- package/dist/esm/hooks/useTokensFromState.native.js +10 -0
- package/dist/esm/hooks/useTokensFromState.native.js.map +6 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +8 -0
- package/dist/esm/index.native.js +9 -0
- package/dist/esm/index.native.js.map +6 -0
- package/dist/esm/keycloak/config.js +11 -0
- package/dist/esm/keycloak/config.js.map +6 -0
- package/dist/esm/keycloak/config.mjs +9 -0
- package/dist/esm/keycloak/config.native.js +11 -0
- package/dist/esm/keycloak/config.native.js.map +6 -0
- package/dist/esm/keycloak/context.js +7 -0
- package/dist/esm/keycloak/context.js.map +6 -0
- package/dist/esm/keycloak/context.mjs +5 -0
- package/dist/esm/keycloak/context.native.js +7 -0
- package/dist/esm/keycloak/context.native.js.map +6 -0
- package/dist/esm/keycloak/index.js +3 -0
- package/dist/esm/keycloak/index.js.map +6 -0
- package/dist/esm/keycloak/index.mjs +2 -0
- package/dist/esm/keycloak/index.native.js +3 -0
- package/dist/esm/keycloak/index.native.js.map +6 -0
- package/dist/esm/keycloak/keycloak.js +124 -0
- package/dist/esm/keycloak/keycloak.js.map +6 -0
- package/dist/esm/keycloak/keycloak.mjs +114 -0
- package/dist/esm/keycloak/keycloak.native.js +352 -0
- package/dist/esm/keycloak/keycloak.native.js.map +6 -0
- package/dist/esm/provider/AfterAuth.js +25 -0
- package/dist/esm/provider/AfterAuth.js.map +6 -0
- package/dist/esm/provider/AfterAuth.mjs +29 -0
- package/dist/esm/provider/AfterAuth.native.js +40 -0
- package/dist/esm/provider/AfterAuth.native.js.map +6 -0
- package/dist/esm/provider/AuthProvider/AuthProvider.js +162 -0
- package/dist/esm/provider/AuthProvider/AuthProvider.js.map +6 -0
- package/dist/esm/provider/AuthProvider/AuthProvider.mjs +164 -0
- package/dist/esm/provider/AuthProvider/AuthProvider.native.js +401 -0
- package/dist/esm/provider/AuthProvider/AuthProvider.native.js.map +6 -0
- package/dist/esm/provider/AuthProvider/index.js +2 -0
- package/dist/esm/provider/AuthProvider/index.js.map +6 -0
- package/dist/esm/provider/AuthProvider/index.mjs +1 -0
- package/dist/esm/provider/AuthProvider/index.native.js +2 -0
- package/dist/esm/provider/AuthProvider/index.native.js.map +6 -0
- package/dist/esm/provider/KeycloakProvider.js +32 -0
- package/dist/esm/provider/KeycloakProvider.js.map +6 -0
- package/dist/esm/provider/KeycloakProvider.mjs +33 -0
- package/dist/esm/provider/KeycloakProvider.native.js +32 -0
- package/dist/esm/provider/KeycloakProvider.native.js.map +6 -0
- package/dist/esm/provider/index.js +4 -0
- package/dist/esm/provider/index.js.map +6 -0
- package/dist/esm/provider/index.mjs +3 -0
- package/dist/esm/provider/index.native.js +4 -0
- package/dist/esm/provider/index.native.js.map +6 -0
- package/dist/esm/routes.js +121 -0
- package/dist/esm/routes.js.map +6 -0
- package/dist/esm/routes.mjs +109 -0
- package/dist/esm/routes.native.js +374 -0
- package/dist/esm/routes.native.js.map +6 -0
- package/dist/esm/session/index.js +2 -0
- package/dist/esm/session/index.js.map +6 -0
- package/dist/esm/session/index.mjs +1 -0
- package/dist/esm/session/index.native.js +2 -0
- package/dist/esm/session/index.native.js.map +6 -0
- package/dist/esm/session/session.js +26 -0
- package/dist/esm/session/session.js.map +6 -0
- package/dist/esm/session/session.mjs +21 -0
- package/dist/esm/session/session.native.js +136 -0
- package/dist/esm/session/session.native.js.map +6 -0
- package/dist/esm/state.js +20 -0
- package/dist/esm/state.js.map +6 -0
- package/dist/esm/state.mjs +16 -0
- package/dist/esm/state.native.js +17 -0
- package/dist/esm/state.native.js.map +6 -0
- package/dist/esm/token.js +14 -0
- package/dist/esm/token.js.map +6 -0
- package/dist/esm/token.mjs +11 -0
- package/dist/esm/token.native.js +14 -0
- package/dist/esm/token.native.js.map +6 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +6 -0
- package/dist/esm/types.mjs +0 -0
- package/dist/esm/types.native.js +1 -0
- package/dist/esm/types.native.js.map +6 -0
- package/dist/jsx/Authenticated.js +34 -0
- package/dist/jsx/Authenticated.js.map +6 -0
- package/dist/jsx/Authenticated.mjs +48 -0
- package/dist/jsx/Authenticated.native.js +67 -0
- package/dist/jsx/Authenticated.native.js.map +6 -0
- package/dist/jsx/apollo.js +49 -0
- package/dist/jsx/apollo.js.map +6 -0
- package/dist/jsx/apollo.mjs +44 -0
- package/dist/jsx/apollo.native.js +74 -0
- package/dist/jsx/apollo.native.js.map +6 -0
- package/dist/jsx/authConfig.js +8 -0
- package/dist/jsx/authConfig.js.map +6 -0
- package/dist/jsx/authConfig.mjs +6 -0
- package/dist/jsx/authConfig.native.js +8 -0
- package/dist/jsx/authConfig.native.js.map +6 -0
- package/dist/jsx/hooks/index.js +4 -0
- package/dist/jsx/hooks/index.js.map +6 -0
- package/dist/jsx/hooks/index.mjs +3 -0
- package/dist/jsx/hooks/index.native.js +4 -0
- package/dist/jsx/hooks/index.native.js.map +6 -0
- package/dist/jsx/hooks/useAuthConfig.js +9 -0
- package/dist/jsx/hooks/useAuthConfig.js.map +6 -0
- package/dist/jsx/hooks/useAuthConfig.mjs +6 -0
- package/dist/jsx/hooks/useAuthConfig.native.js +9 -0
- package/dist/jsx/hooks/useAuthConfig.native.js.map +6 -0
- package/dist/jsx/hooks/useTokensFromQuery/index.js +13 -0
- package/dist/jsx/hooks/useTokensFromQuery/index.js.map +6 -0
- package/dist/jsx/hooks/useTokensFromQuery/index.mjs +14 -0
- package/dist/jsx/hooks/useTokensFromQuery/index.native.js +7 -0
- package/dist/jsx/hooks/useTokensFromQuery/index.native.js.map +6 -0
- package/dist/jsx/hooks/useTokensFromState.js +10 -0
- package/dist/jsx/hooks/useTokensFromState.js.map +6 -0
- package/dist/jsx/hooks/useTokensFromState.mjs +7 -0
- package/dist/jsx/hooks/useTokensFromState.native.js +10 -0
- package/dist/jsx/hooks/useTokensFromState.native.js.map +6 -0
- package/dist/jsx/index.js +9 -0
- package/dist/jsx/index.js.map +6 -0
- package/dist/jsx/index.mjs +8 -0
- package/dist/jsx/index.native.js +9 -0
- package/dist/jsx/index.native.js.map +6 -0
- package/dist/jsx/keycloak/config.js +11 -0
- package/dist/jsx/keycloak/config.js.map +6 -0
- package/dist/jsx/keycloak/config.mjs +9 -0
- package/dist/jsx/keycloak/config.native.js +11 -0
- package/dist/jsx/keycloak/config.native.js.map +6 -0
- package/dist/jsx/keycloak/context.js +7 -0
- package/dist/jsx/keycloak/context.js.map +6 -0
- package/dist/jsx/keycloak/context.mjs +5 -0
- package/dist/jsx/keycloak/context.native.js +7 -0
- package/dist/jsx/keycloak/context.native.js.map +6 -0
- package/dist/jsx/keycloak/index.js +3 -0
- package/dist/jsx/keycloak/index.js.map +6 -0
- package/dist/jsx/keycloak/index.mjs +2 -0
- package/dist/jsx/keycloak/index.native.js +3 -0
- package/dist/jsx/keycloak/index.native.js.map +6 -0
- package/dist/jsx/keycloak/keycloak.js +124 -0
- package/dist/jsx/keycloak/keycloak.js.map +6 -0
- package/dist/jsx/keycloak/keycloak.mjs +114 -0
- package/dist/jsx/keycloak/keycloak.native.js +352 -0
- package/dist/jsx/keycloak/keycloak.native.js.map +6 -0
- package/dist/jsx/provider/AfterAuth.js +25 -0
- package/dist/jsx/provider/AfterAuth.js.map +6 -0
- package/dist/jsx/provider/AfterAuth.mjs +29 -0
- package/dist/jsx/provider/AfterAuth.native.js +40 -0
- package/dist/jsx/provider/AfterAuth.native.js.map +6 -0
- package/dist/jsx/provider/AuthProvider/AuthProvider.js +162 -0
- package/dist/jsx/provider/AuthProvider/AuthProvider.js.map +6 -0
- package/dist/jsx/provider/AuthProvider/AuthProvider.mjs +164 -0
- package/dist/jsx/provider/AuthProvider/AuthProvider.native.js +401 -0
- package/dist/jsx/provider/AuthProvider/AuthProvider.native.js.map +6 -0
- package/dist/jsx/provider/AuthProvider/index.js +2 -0
- package/dist/jsx/provider/AuthProvider/index.js.map +6 -0
- package/dist/jsx/provider/AuthProvider/index.mjs +1 -0
- package/dist/jsx/provider/AuthProvider/index.native.js +2 -0
- package/dist/jsx/provider/AuthProvider/index.native.js.map +6 -0
- package/dist/jsx/provider/KeycloakProvider.js +32 -0
- package/dist/jsx/provider/KeycloakProvider.js.map +6 -0
- package/dist/jsx/provider/KeycloakProvider.mjs +33 -0
- package/dist/jsx/provider/KeycloakProvider.native.js +32 -0
- package/dist/jsx/provider/KeycloakProvider.native.js.map +6 -0
- package/dist/jsx/provider/index.js +4 -0
- package/dist/jsx/provider/index.js.map +6 -0
- package/dist/jsx/provider/index.mjs +3 -0
- package/dist/jsx/provider/index.native.js +4 -0
- package/dist/jsx/provider/index.native.js.map +6 -0
- package/dist/jsx/routes.js +121 -0
- package/dist/jsx/routes.js.map +6 -0
- package/dist/jsx/routes.mjs +109 -0
- package/dist/jsx/routes.native.js +374 -0
- package/dist/jsx/routes.native.js.map +6 -0
- package/dist/jsx/session/index.js +2 -0
- package/dist/jsx/session/index.js.map +6 -0
- package/dist/jsx/session/index.mjs +1 -0
- package/dist/jsx/session/index.native.js +2 -0
- package/dist/jsx/session/index.native.js.map +6 -0
- package/dist/jsx/session/session.js +26 -0
- package/dist/jsx/session/session.js.map +6 -0
- package/dist/jsx/session/session.mjs +21 -0
- package/dist/jsx/session/session.native.js +136 -0
- package/dist/jsx/session/session.native.js.map +6 -0
- package/dist/jsx/state.js +20 -0
- package/dist/jsx/state.js.map +6 -0
- package/dist/jsx/state.mjs +16 -0
- package/dist/jsx/state.native.js +17 -0
- package/dist/jsx/state.native.js.map +6 -0
- package/dist/jsx/token.js +14 -0
- package/dist/jsx/token.js.map +6 -0
- package/dist/jsx/token.mjs +11 -0
- package/dist/jsx/token.native.js +14 -0
- package/dist/jsx/token.native.js.map +6 -0
- package/dist/jsx/types.js +1 -0
- package/dist/jsx/types.js.map +6 -0
- package/dist/jsx/types.mjs +0 -0
- package/dist/jsx/types.native.js +1 -0
- package/dist/jsx/types.native.js.map +6 -0
- package/package.json +2 -2
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/home/phani25/Projects/Bitspur/Internal/multiplatform.one/multiplatform.one/packages/keycloak/src/hooks/useAuthConfig.ts"],
|
|
4
|
+
"mappings": "AAqBA,SAASA,kBAAkB;AAC3B,SAASC,yBAAyB;AAE3B,SAASC,gBAAAA;AACd,SAAOF,WAAWC,iBAAAA;AACpB;",
|
|
5
|
+
"names": ["useContext", "AuthConfigContext", "useAuthConfig"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { MultiPlatform } from "multiplatform.one";
|
|
3
|
+
import { useRouter } from "next/router";
|
|
4
|
+
function useTokensFromQuery() {
|
|
5
|
+
if (!MultiPlatform.isIframe)
|
|
6
|
+
return !1;
|
|
7
|
+
const { query } = MultiPlatform.isNext ? useRouter() : { query: {} };
|
|
8
|
+
return "idToken" in query || "token" in query || "refreshToken" in query;
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
useTokensFromQuery
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/hooks/useTokensFromQuery/index.ts"],
|
|
4
|
+
"mappings": ";AAuBA,SAAS,qBAAqB;AAC9B,SAAS,iBAAiB;AAEnB,SAAS,qBAAqB;AACnC,MAAI,CAAC,cAAc;AAAU,WAAO;AACpC,QAAM,EAAE,MAAM,IAAI,cAAc,SAAS,UAAU,IAAI,EAAE,OAAO,CAAC,EAAE;AACnE,SAAO,aAAa,SAAS,WAAW,SAAS,kBAAkB;AACrE;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { MultiPlatform } from "multiplatform.one";
|
|
4
|
+
import { useRouter } from "next/router";
|
|
5
|
+
function useTokensFromQuery() {
|
|
6
|
+
if (!MultiPlatform.isIframe) return !1;
|
|
7
|
+
const {
|
|
8
|
+
query
|
|
9
|
+
} = MultiPlatform.isNext ? useRouter() : {
|
|
10
|
+
query: {}
|
|
11
|
+
};
|
|
12
|
+
return "idToken" in query || "token" in query || "refreshToken" in query;
|
|
13
|
+
}
|
|
14
|
+
export { useTokensFromQuery };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/hooks/useTokensFromQuery/home/phani25/Projects/Bitspur/Internal/multiplatform.one/multiplatform.one/packages/keycloak/src/hooks/useTokensFromQuery/index.native.ts"],
|
|
4
|
+
"mappings": "AAqBO,IAAMA,qBAAqB,WAAA;SAAM;;",
|
|
5
|
+
"names": ["useTokensFromQuery"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useAuthState } from "../state";
|
|
2
|
+
import { validOrRefreshableToken } from "../token";
|
|
3
|
+
function useTokensFromState() {
|
|
4
|
+
const authState = useAuthState();
|
|
5
|
+
return !!validOrRefreshableToken(authState.token, authState.refreshToken);
|
|
6
|
+
}
|
|
7
|
+
export {
|
|
8
|
+
useTokensFromState
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useTokensFromState.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { useAuthState } from "../state.mjs";
|
|
2
|
+
import { validOrRefreshableToken } from "../token.mjs";
|
|
3
|
+
function useTokensFromState() {
|
|
4
|
+
const authState = useAuthState();
|
|
5
|
+
return !!validOrRefreshableToken(authState.token, authState.refreshToken);
|
|
6
|
+
}
|
|
7
|
+
export { useTokensFromState };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useAuthState } from "../state";
|
|
2
|
+
import { validOrRefreshableToken } from "../token";
|
|
3
|
+
function useTokensFromState() {
|
|
4
|
+
var authState = useAuthState();
|
|
5
|
+
return !!validOrRefreshableToken(authState.token, authState.refreshToken);
|
|
6
|
+
}
|
|
7
|
+
export {
|
|
8
|
+
useTokensFromState
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useTokensFromState.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/home/phani25/Projects/Bitspur/Internal/multiplatform.one/multiplatform.one/packages/keycloak/src/hooks/useTokensFromState.ts"],
|
|
4
|
+
"mappings": "AAqBA,SAASA,oBAAoB;AAC7B,SAASC,+BAA+B;AAEjC,SAASC,qBAAAA;AACd,MAAMC,YAAYH,aAAAA;AAClB,SAAO,CAAC,CAACC,wBAAwBE,UAAUC,OAAOD,UAAUE,YAAY;AAC1E;",
|
|
5
|
+
"names": ["useAuthState", "validOrRefreshableToken", "useTokensFromState", "authState", "token", "refreshToken"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./Authenticated";
|
|
2
|
+
export * from "./apollo";
|
|
3
|
+
export * from "./authConfig";
|
|
4
|
+
export * from "./hooks";
|
|
5
|
+
export * from "./keycloak";
|
|
6
|
+
export * from "./provider";
|
|
7
|
+
export * from "./session";
|
|
8
|
+
export * from "./types";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./Authenticated.mjs";
|
|
2
|
+
export * from "./apollo.mjs";
|
|
3
|
+
export * from "./authConfig.mjs";
|
|
4
|
+
export * from "./hooks/index.mjs";
|
|
5
|
+
export * from "./keycloak/index.mjs";
|
|
6
|
+
export * from "./provider/index.mjs";
|
|
7
|
+
export * from "./session/index.mjs";
|
|
8
|
+
export * from "./types.mjs";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./Authenticated";
|
|
2
|
+
export * from "./apollo";
|
|
3
|
+
export * from "./authConfig";
|
|
4
|
+
export * from "./hooks";
|
|
5
|
+
export * from "./keycloak";
|
|
6
|
+
export * from "./provider";
|
|
7
|
+
export * from "./session";
|
|
8
|
+
export * from "./types";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/keycloak/home/phani25/Projects/Bitspur/Internal/multiplatform.one/multiplatform.one/packages/keycloak/src/keycloak/config.ts"],
|
|
4
|
+
"mappings": ";AAwBA,SAASA,qBAAqB;AAOvB,IAAMC,wBAAwBD,cAA8B;EACjEE,UAAU;EACVC,OAAO;EACPC,KAAK;AACP,CAAA;",
|
|
5
|
+
"names": ["createContext", "KeycloakConfigContext", "clientId", "realm", "url"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/keycloak/home/phani25/Projects/Bitspur/Internal/multiplatform.one/multiplatform.one/packages/keycloak/src/keycloak/context.ts"],
|
|
4
|
+
"mappings": ";AAwBA,SAASA,qBAAqB;AAEvB,IAAMC,kBAAkBD,cAAoCE,MAAAA;",
|
|
5
|
+
"names": ["createContext", "KeycloakContext", "undefined"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { KeycloakConfigContext } from "./config";
|
|
2
|
+
import { KeycloakContext } from "./context";
|
|
3
|
+
import { MultiPlatform } from "multiplatform.one";
|
|
4
|
+
import { getSession, useSession } from "../session/session";
|
|
5
|
+
import { jwtDecode } from "jwt-decode";
|
|
6
|
+
import { signIn, signOut } from "next-auth/react";
|
|
7
|
+
import { useContext } from "react";
|
|
8
|
+
class Keycloak {
|
|
9
|
+
constructor(config, input, idToken, refreshToken, login, logout) {
|
|
10
|
+
this.config = config;
|
|
11
|
+
if (typeof input == "string")
|
|
12
|
+
this.token = input, this.idToken = idToken, this.refreshToken = refreshToken;
|
|
13
|
+
else if (typeof input == "object")
|
|
14
|
+
if (typeof input.init == "function")
|
|
15
|
+
this.keycloakClient = input;
|
|
16
|
+
else if (input.accessToken) {
|
|
17
|
+
const session = input;
|
|
18
|
+
this.token = session.accessToken, this.idToken = session.idToken, this.refreshToken = session.refreshToken;
|
|
19
|
+
} else
|
|
20
|
+
this.mock = input;
|
|
21
|
+
this.token && !this._tokenParsed && (this._tokenParsed = jwtDecode(this.token)), this.idToken && !this._idTokenParsed && (this._idTokenParsed = jwtDecode(this.idToken)), this.refreshToken && !this._refreshTokenParsed && (this._refreshTokenParsed = jwtDecode(this.refreshToken)), this._login = login, this._logout = logout;
|
|
22
|
+
}
|
|
23
|
+
token;
|
|
24
|
+
idToken;
|
|
25
|
+
refreshToken;
|
|
26
|
+
_idTokenParsed;
|
|
27
|
+
_login;
|
|
28
|
+
_logout;
|
|
29
|
+
_refreshTokenParsed;
|
|
30
|
+
_tokenParsed;
|
|
31
|
+
keycloakClient;
|
|
32
|
+
mock;
|
|
33
|
+
get tokenParsed() {
|
|
34
|
+
return this.keycloakClient ? this.keycloakClient.tokenParsed : this._tokenParsed;
|
|
35
|
+
}
|
|
36
|
+
get idTokenParsed() {
|
|
37
|
+
return this.keycloakClient ? this.keycloakClient.idTokenParsed : this._idTokenParsed;
|
|
38
|
+
}
|
|
39
|
+
get refreshTokenParsed() {
|
|
40
|
+
return this.keycloakClient ? this.keycloakClient.refreshTokenParsed : this._refreshTokenParsed;
|
|
41
|
+
}
|
|
42
|
+
get clientId() {
|
|
43
|
+
return this.keycloakClient ? this.keycloakClient.clientId : this.tokenParsed?.azp || this.config.clientId;
|
|
44
|
+
}
|
|
45
|
+
get email() {
|
|
46
|
+
return this.keycloakClient ? this.keycloakClient.tokenParsed?.email : this.mock ? this.mock.email : this.tokenParsed?.email;
|
|
47
|
+
}
|
|
48
|
+
get realm() {
|
|
49
|
+
return this.keycloakClient ? this.keycloakClient.realm : this.tokenParsed?.iss?.split("/").pop() || this.config.realm;
|
|
50
|
+
}
|
|
51
|
+
get realmAccess() {
|
|
52
|
+
return this.keycloakClient ? this.keycloakClient.realmAccess : this.tokenParsed?.realm_access;
|
|
53
|
+
}
|
|
54
|
+
get resourceAccess() {
|
|
55
|
+
return this.keycloakClient ? this.keycloakClient.resourceAccess : this.tokenParsed?.resource_access;
|
|
56
|
+
}
|
|
57
|
+
get sessionId() {
|
|
58
|
+
return this.keycloakClient ? this.keycloakClient.sessionId : this.tokenParsed?.session_state;
|
|
59
|
+
}
|
|
60
|
+
get subject() {
|
|
61
|
+
return this.keycloakClient ? this.keycloakClient.subject : this.tokenParsed?.sub;
|
|
62
|
+
}
|
|
63
|
+
get username() {
|
|
64
|
+
return this.mock ? this.mock.username : this.tokenParsed?.preferred_username;
|
|
65
|
+
}
|
|
66
|
+
async getUserInfo() {
|
|
67
|
+
if (!this.authenticated)
|
|
68
|
+
return;
|
|
69
|
+
const response = await fetch(`${this.config.url}/realms/${this.config.realm}/protocol/openid-connect/userinfo`, {
|
|
70
|
+
method: "GET",
|
|
71
|
+
headers: {
|
|
72
|
+
Authorization: "Bearer " + this.token,
|
|
73
|
+
Accept: "application/json"
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
if (response.ok)
|
|
77
|
+
return response.json();
|
|
78
|
+
}
|
|
79
|
+
async login(options = {}) {
|
|
80
|
+
this.idToken = void 0, this.refreshToken = void 0, this.token = void 0, this.keycloakClient ? await this.keycloakClient.login(options) : MultiPlatform.isNext && !MultiPlatform.isServer ? await signIn("keycloak", {
|
|
81
|
+
callbackUrl: options.redirectUri,
|
|
82
|
+
redirect: options.redirect
|
|
83
|
+
}) : await this._login?.(options);
|
|
84
|
+
}
|
|
85
|
+
async logout(options = {}) {
|
|
86
|
+
this.idToken = void 0, this.refreshToken = void 0, this.token = void 0, this.keycloakClient ? await this.keycloakClient.logout(options) : MultiPlatform.isNext && !MultiPlatform.isServer ? (await fetch("/api/auth/logout", { method: "GET" }), await signOut({
|
|
87
|
+
callbackUrl: options.redirectUri
|
|
88
|
+
})) : await this._logout?.(options);
|
|
89
|
+
}
|
|
90
|
+
get authenticated() {
|
|
91
|
+
return this.mock ? !0 : this.keycloakClient ? !!this.keycloakClient.authenticated : !this.tokenParsed?.exp || !this.idToken ? !1 : this.tokenParsed.exp > Date.now() / 1e3;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function useKeycloak() {
|
|
95
|
+
const keycloak = useContext(KeycloakContext), keycloakConfig = useContext(KeycloakConfigContext);
|
|
96
|
+
if (keycloak)
|
|
97
|
+
return keycloak;
|
|
98
|
+
const { session, status } = useSession();
|
|
99
|
+
if (MultiPlatform.isStorybook)
|
|
100
|
+
return new Keycloak(keycloakConfig, {
|
|
101
|
+
email: "storybook@example.com",
|
|
102
|
+
username: "storybook"
|
|
103
|
+
});
|
|
104
|
+
if (status === "unauthenticated")
|
|
105
|
+
return new Keycloak(keycloakConfig);
|
|
106
|
+
if (status === "authenticated" && session?.accessToken)
|
|
107
|
+
return new Keycloak(keycloakConfig, session);
|
|
108
|
+
}
|
|
109
|
+
async function getKeycloak(options, req, res) {
|
|
110
|
+
const keycloakProvider = options?.providers.find(
|
|
111
|
+
(provider) => provider.id === "keycloak"
|
|
112
|
+
)?.options, parts = keycloakProvider?.issuer?.split("/realms/"), keycloakConfig = {
|
|
113
|
+
realm: parts?.[1]?.split("/")[0] || "",
|
|
114
|
+
url: parts?.[0] || "",
|
|
115
|
+
clientId: keycloakProvider?.clientId || ""
|
|
116
|
+
}, session = await getSession(options, req, res);
|
|
117
|
+
return session?.accessToken ? new Keycloak(keycloakConfig, session) : new Keycloak(keycloakConfig);
|
|
118
|
+
}
|
|
119
|
+
export {
|
|
120
|
+
Keycloak,
|
|
121
|
+
getKeycloak,
|
|
122
|
+
useKeycloak
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=keycloak.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/keycloak/keycloak.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { KeycloakConfigContext } from "./config.mjs";
|
|
2
|
+
import { KeycloakContext } from "./context.mjs";
|
|
3
|
+
import { MultiPlatform } from "multiplatform.one";
|
|
4
|
+
import { getSession, useSession } from "../session/session.mjs";
|
|
5
|
+
import { jwtDecode } from "jwt-decode";
|
|
6
|
+
import { signIn, signOut } from "next-auth/react";
|
|
7
|
+
import { useContext } from "react";
|
|
8
|
+
class Keycloak {
|
|
9
|
+
constructor(config, input, idToken, refreshToken, login, logout) {
|
|
10
|
+
this.config = config;
|
|
11
|
+
if (typeof input == "string") this.token = input, this.idToken = idToken, this.refreshToken = refreshToken;else if (typeof input == "object") if (typeof input.init == "function") this.keycloakClient = input;else if (input.accessToken) {
|
|
12
|
+
const session = input;
|
|
13
|
+
this.token = session.accessToken, this.idToken = session.idToken, this.refreshToken = session.refreshToken;
|
|
14
|
+
} else this.mock = input;
|
|
15
|
+
this.token && !this._tokenParsed && (this._tokenParsed = jwtDecode(this.token)), this.idToken && !this._idTokenParsed && (this._idTokenParsed = jwtDecode(this.idToken)), this.refreshToken && !this._refreshTokenParsed && (this._refreshTokenParsed = jwtDecode(this.refreshToken)), this._login = login, this._logout = logout;
|
|
16
|
+
}
|
|
17
|
+
token;
|
|
18
|
+
idToken;
|
|
19
|
+
refreshToken;
|
|
20
|
+
_idTokenParsed;
|
|
21
|
+
_login;
|
|
22
|
+
_logout;
|
|
23
|
+
_refreshTokenParsed;
|
|
24
|
+
_tokenParsed;
|
|
25
|
+
keycloakClient;
|
|
26
|
+
mock;
|
|
27
|
+
get tokenParsed() {
|
|
28
|
+
return this.keycloakClient ? this.keycloakClient.tokenParsed : this._tokenParsed;
|
|
29
|
+
}
|
|
30
|
+
get idTokenParsed() {
|
|
31
|
+
return this.keycloakClient ? this.keycloakClient.idTokenParsed : this._idTokenParsed;
|
|
32
|
+
}
|
|
33
|
+
get refreshTokenParsed() {
|
|
34
|
+
return this.keycloakClient ? this.keycloakClient.refreshTokenParsed : this._refreshTokenParsed;
|
|
35
|
+
}
|
|
36
|
+
get clientId() {
|
|
37
|
+
return this.keycloakClient ? this.keycloakClient.clientId : this.tokenParsed?.azp || this.config.clientId;
|
|
38
|
+
}
|
|
39
|
+
get email() {
|
|
40
|
+
return this.keycloakClient ? this.keycloakClient.tokenParsed?.email : this.mock ? this.mock.email : this.tokenParsed?.email;
|
|
41
|
+
}
|
|
42
|
+
get realm() {
|
|
43
|
+
return this.keycloakClient ? this.keycloakClient.realm : this.tokenParsed?.iss?.split("/").pop() || this.config.realm;
|
|
44
|
+
}
|
|
45
|
+
get realmAccess() {
|
|
46
|
+
return this.keycloakClient ? this.keycloakClient.realmAccess : this.tokenParsed?.realm_access;
|
|
47
|
+
}
|
|
48
|
+
get resourceAccess() {
|
|
49
|
+
return this.keycloakClient ? this.keycloakClient.resourceAccess : this.tokenParsed?.resource_access;
|
|
50
|
+
}
|
|
51
|
+
get sessionId() {
|
|
52
|
+
return this.keycloakClient ? this.keycloakClient.sessionId : this.tokenParsed?.session_state;
|
|
53
|
+
}
|
|
54
|
+
get subject() {
|
|
55
|
+
return this.keycloakClient ? this.keycloakClient.subject : this.tokenParsed?.sub;
|
|
56
|
+
}
|
|
57
|
+
get username() {
|
|
58
|
+
return this.mock ? this.mock.username : this.tokenParsed?.preferred_username;
|
|
59
|
+
}
|
|
60
|
+
async getUserInfo() {
|
|
61
|
+
if (!this.authenticated) return;
|
|
62
|
+
const response = await fetch(`${this.config.url}/realms/${this.config.realm}/protocol/openid-connect/userinfo`, {
|
|
63
|
+
method: "GET",
|
|
64
|
+
headers: {
|
|
65
|
+
Authorization: "Bearer " + this.token,
|
|
66
|
+
Accept: "application/json"
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
if (response.ok) return response.json();
|
|
70
|
+
}
|
|
71
|
+
async login(options = {}) {
|
|
72
|
+
this.idToken = void 0, this.refreshToken = void 0, this.token = void 0, this.keycloakClient ? await this.keycloakClient.login(options) : MultiPlatform.isNext && !MultiPlatform.isServer ? await signIn("keycloak", {
|
|
73
|
+
callbackUrl: options.redirectUri,
|
|
74
|
+
redirect: options.redirect
|
|
75
|
+
}) : await this._login?.(options);
|
|
76
|
+
}
|
|
77
|
+
async logout(options = {}) {
|
|
78
|
+
this.idToken = void 0, this.refreshToken = void 0, this.token = void 0, this.keycloakClient ? await this.keycloakClient.logout(options) : MultiPlatform.isNext && !MultiPlatform.isServer ? (await fetch("/api/auth/logout", {
|
|
79
|
+
method: "GET"
|
|
80
|
+
}), await signOut({
|
|
81
|
+
callbackUrl: options.redirectUri
|
|
82
|
+
})) : await this._logout?.(options);
|
|
83
|
+
}
|
|
84
|
+
get authenticated() {
|
|
85
|
+
return this.mock ? !0 : this.keycloakClient ? !!this.keycloakClient.authenticated : !this.tokenParsed?.exp || !this.idToken ? !1 : this.tokenParsed.exp > Date.now() / 1e3;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function useKeycloak() {
|
|
89
|
+
const keycloak = useContext(KeycloakContext),
|
|
90
|
+
keycloakConfig = useContext(KeycloakConfigContext);
|
|
91
|
+
if (keycloak) return keycloak;
|
|
92
|
+
const {
|
|
93
|
+
session,
|
|
94
|
+
status
|
|
95
|
+
} = useSession();
|
|
96
|
+
if (MultiPlatform.isStorybook) return new Keycloak(keycloakConfig, {
|
|
97
|
+
email: "storybook@example.com",
|
|
98
|
+
username: "storybook"
|
|
99
|
+
});
|
|
100
|
+
if (status === "unauthenticated") return new Keycloak(keycloakConfig);
|
|
101
|
+
if (status === "authenticated" && session?.accessToken) return new Keycloak(keycloakConfig, session);
|
|
102
|
+
}
|
|
103
|
+
async function getKeycloak(options, req, res) {
|
|
104
|
+
const keycloakProvider = options?.providers.find(provider => provider.id === "keycloak")?.options,
|
|
105
|
+
parts = keycloakProvider?.issuer?.split("/realms/"),
|
|
106
|
+
keycloakConfig = {
|
|
107
|
+
realm: parts?.[1]?.split("/")[0] || "",
|
|
108
|
+
url: parts?.[0] || "",
|
|
109
|
+
clientId: keycloakProvider?.clientId || ""
|
|
110
|
+
},
|
|
111
|
+
session = await getSession(options, req, res);
|
|
112
|
+
return session?.accessToken ? new Keycloak(keycloakConfig, session) : new Keycloak(keycloakConfig);
|
|
113
|
+
}
|
|
114
|
+
export { Keycloak, getKeycloak, useKeycloak };
|