wcz-test 6.24.0 → 6.24.1
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/lib/auth/api.js +1 -7
- package/dist/lib/auth/api.js.map +1 -1
- package/dist/lib/auth/entra.js +1 -7
- package/dist/lib/auth/entra.js.map +1 -1
- package/dist/lib/auth/session.js +1 -1
- package/package.json +1 -1
- package/dist/_virtual/___vite-browser-external.js +0 -7
- package/dist/_virtual/___vite-browser-external.js.map +0 -1
- package/dist/_virtual/__vite-browser-external.js +0 -5
- package/dist/_virtual/__vite-browser-external.js.map +0 -1
- package/dist/_virtual/_commonjsHelpers.js +0 -37
- package/dist/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/_virtual/index.js +0 -8
- package/dist/_virtual/index.js.map +0 -1
- package/dist/_virtual/index2.js +0 -5
- package/dist/_virtual/index2.js.map +0 -1
- package/dist/_virtual/index3.js +0 -5
- package/dist/_virtual/index3.js.map +0 -1
- package/dist/_virtual/index4.js +0 -5
- package/dist/_virtual/index4.js.map +0 -1
- package/dist/_virtual/index5.js +0 -5
- package/dist/_virtual/index5.js.map +0 -1
- package/dist/_virtual/index6.js +0 -5
- package/dist/_virtual/index6.js.map +0 -1
- package/dist/_virtual/re.js +0 -5
- package/dist/_virtual/re.js.map +0 -1
- package/dist/node_modules/@oslojs/binary/dist/bits.js +0 -7
- package/dist/node_modules/@oslojs/binary/dist/bits.js.map +0 -1
- package/dist/node_modules/@oslojs/binary/dist/uint.js +0 -80
- package/dist/node_modules/@oslojs/binary/dist/uint.js.map +0 -1
- package/dist/node_modules/@oslojs/crypto/dist/sha2/sha256.js +0 -182
- package/dist/node_modules/@oslojs/crypto/dist/sha2/sha256.js.map +0 -1
- package/dist/node_modules/@oslojs/crypto/dist/sha2/sha512.js +0 -83
- package/dist/node_modules/@oslojs/crypto/dist/sha2/sha512.js.map +0 -1
- package/dist/node_modules/@oslojs/encoding/dist/base32.js +0 -11
- package/dist/node_modules/@oslojs/encoding/dist/base32.js.map +0 -1
- package/dist/node_modules/@oslojs/encoding/dist/base64.js +0 -46
- package/dist/node_modules/@oslojs/encoding/dist/base64.js.map +0 -1
- package/dist/node_modules/@oslojs/jwt/dist/index.js +0 -28
- package/dist/node_modules/@oslojs/jwt/dist/index.js.map +0 -1
- package/dist/node_modules/@oslojs/jwt/node_modules/@oslojs/encoding/dist/base32.js +0 -11
- package/dist/node_modules/@oslojs/jwt/node_modules/@oslojs/encoding/dist/base32.js.map +0 -1
- package/dist/node_modules/@oslojs/jwt/node_modules/@oslojs/encoding/dist/base64.js +0 -126
- package/dist/node_modules/@oslojs/jwt/node_modules/@oslojs/encoding/dist/base64.js.map +0 -1
- package/dist/node_modules/arctic/dist/client.js +0 -12
- package/dist/node_modules/arctic/dist/client.js.map +0 -1
- package/dist/node_modules/arctic/dist/oauth2.js +0 -76
- package/dist/node_modules/arctic/dist/oauth2.js.map +0 -1
- package/dist/node_modules/arctic/dist/oidc.js +0 -14
- package/dist/node_modules/arctic/dist/oidc.js.map +0 -1
- package/dist/node_modules/arctic/dist/providers/microsoft-entra-id.js +0 -73
- package/dist/node_modules/arctic/dist/providers/microsoft-entra-id.js.map +0 -1
- package/dist/node_modules/arctic/dist/request.js +0 -149
- package/dist/node_modules/arctic/dist/request.js.map +0 -1
- package/dist/node_modules/arctic/dist/utils.js +0 -25
- package/dist/node_modules/arctic/dist/utils.js.map +0 -1
- package/dist/node_modules/base64-js/index.js +0 -103
- package/dist/node_modules/base64-js/index.js.map +0 -1
- package/dist/node_modules/buffer/index.js +0 -1598
- package/dist/node_modules/buffer/index.js.map +0 -1
- package/dist/node_modules/buffer-equal-constant-time/index.js +0 -39
- package/dist/node_modules/buffer-equal-constant-time/index.js.map +0 -1
- package/dist/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js +0 -140
- package/dist/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js.map +0 -1
- package/dist/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js +0 -28
- package/dist/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js.map +0 -1
- package/dist/node_modules/ieee754/index.js +0 -88
- package/dist/node_modules/ieee754/index.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/decode.js +0 -38
- package/dist/node_modules/jsonwebtoken/decode.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/index.js +0 -25
- package/dist/node_modules/jsonwebtoken/index.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/lib/JsonWebTokenError.js +0 -23
- package/dist/node_modules/jsonwebtoken/lib/JsonWebTokenError.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/lib/NotBeforeError.js +0 -21
- package/dist/node_modules/jsonwebtoken/lib/NotBeforeError.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/lib/TokenExpiredError.js +0 -21
- package/dist/node_modules/jsonwebtoken/lib/TokenExpiredError.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js +0 -14
- package/dist/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/lib/psSupported.js +0 -14
- package/dist/node_modules/jsonwebtoken/lib/psSupported.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js +0 -14
- package/dist/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/lib/timespan.js +0 -27
- package/dist/node_modules/jsonwebtoken/lib/timespan.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js +0 -60
- package/dist/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/classes/comparator.js +0 -123
- package/dist/node_modules/jsonwebtoken/node_modules/semver/classes/comparator.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/classes/range.js +0 -388
- package/dist/node_modules/jsonwebtoken/node_modules/semver/classes/range.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/classes/semver.js +0 -288
- package/dist/node_modules/jsonwebtoken/node_modules/semver/classes/semver.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/clean.js +0 -18
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/clean.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/cmp.js +0 -60
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/cmp.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/coerce.js +0 -53
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/coerce.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/compare-build.js +0 -19
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/compare-build.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/compare-loose.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/compare-loose.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/compare.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/compare.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/diff.js +0 -49
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/diff.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/eq.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/eq.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/gt.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/gt.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/gte.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/gte.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/inc.js +0 -29
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/inc.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/lt.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/lt.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/lte.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/lte.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/major.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/major.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/minor.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/minor.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/neq.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/neq.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/parse.js +0 -27
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/parse.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/patch.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/patch.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/prerelease.js +0 -18
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/prerelease.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/rcompare.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/rcompare.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/rsort.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/rsort.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/satisfies.js +0 -22
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/satisfies.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/sort.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/sort.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/valid.js +0 -18
- package/dist/node_modules/jsonwebtoken/node_modules/semver/functions/valid.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/index.js +0 -140
- package/dist/node_modules/jsonwebtoken/node_modules/semver/index.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/internal/constants.js +0 -36
- package/dist/node_modules/jsonwebtoken/node_modules/semver/internal/constants.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/internal/debug.js +0 -14
- package/dist/node_modules/jsonwebtoken/node_modules/semver/internal/debug.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/internal/identifiers.js +0 -29
- package/dist/node_modules/jsonwebtoken/node_modules/semver/internal/identifiers.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/internal/lrucache.js +0 -42
- package/dist/node_modules/jsonwebtoken/node_modules/semver/internal/lrucache.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/internal/parse-options.js +0 -23
- package/dist/node_modules/jsonwebtoken/node_modules/semver/internal/parse-options.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/internal/re.js +0 -96
- package/dist/node_modules/jsonwebtoken/node_modules/semver/internal/re.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/gtr.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/gtr.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/intersects.js +0 -19
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/intersects.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/ltr.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/ltr.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/max-satisfying.js +0 -35
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/max-satisfying.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/min-satisfying.js +0 -35
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/min-satisfying.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/min-version.js +0 -66
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/min-version.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/outside.js +0 -81
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/outside.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/simplify.js +0 -56
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/simplify.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/subset.js +0 -170
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/subset.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/to-comparators.js +0 -15
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/to-comparators.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/valid.js +0 -21
- package/dist/node_modules/jsonwebtoken/node_modules/semver/ranges/valid.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/sign.js +0 -242
- package/dist/node_modules/jsonwebtoken/sign.js.map +0 -1
- package/dist/node_modules/jsonwebtoken/verify.js +0 -229
- package/dist/node_modules/jsonwebtoken/verify.js.map +0 -1
- package/dist/node_modules/jwa/index.js +0 -233
- package/dist/node_modules/jwa/index.js.map +0 -1
- package/dist/node_modules/jws/index.js +0 -40
- package/dist/node_modules/jws/index.js.map +0 -1
- package/dist/node_modules/jws/lib/data-stream.js +0 -55
- package/dist/node_modules/jws/lib/data-stream.js.map +0 -1
- package/dist/node_modules/jws/lib/sign-stream.js +0 -85
- package/dist/node_modules/jws/lib/sign-stream.js.map +0 -1
- package/dist/node_modules/jws/lib/tostring.js +0 -20
- package/dist/node_modules/jws/lib/tostring.js.map +0 -1
- package/dist/node_modules/jws/lib/verify-stream.js +0 -125
- package/dist/node_modules/jws/lib/verify-stream.js.map +0 -1
- package/dist/node_modules/lodash.includes/index.js +0 -181
- package/dist/node_modules/lodash.includes/index.js.map +0 -1
- package/dist/node_modules/lodash.isboolean/index.js +0 -21
- package/dist/node_modules/lodash.isboolean/index.js.map +0 -1
- package/dist/node_modules/lodash.isinteger/index.js +0 -67
- package/dist/node_modules/lodash.isinteger/index.js.map +0 -1
- package/dist/node_modules/lodash.isnumber/index.js +0 -21
- package/dist/node_modules/lodash.isnumber/index.js.map +0 -1
- package/dist/node_modules/lodash.isplainobject/index.js +0 -48
- package/dist/node_modules/lodash.isplainobject/index.js.map +0 -1
- package/dist/node_modules/lodash.isstring/index.js +0 -22
- package/dist/node_modules/lodash.isstring/index.js.map +0 -1
- package/dist/node_modules/lodash.once/index.js +0 -84
- package/dist/node_modules/lodash.once/index.js.map +0 -1
- package/dist/node_modules/ms/index.js +0 -121
- package/dist/node_modules/ms/index.js.map +0 -1
- package/dist/node_modules/safe-buffer/index.js +0 -66
- package/dist/node_modules/safe-buffer/index.js.map +0 -1
package/dist/lib/auth/api.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { setCookie, getCookie, deleteCookie } from "@tanstack/react-start/server";
|
|
2
|
-
import "
|
|
3
|
-
import "../../node_modules/@oslojs/jwt/node_modules/@oslojs/encoding/dist/base32.js";
|
|
4
|
-
import "../../node_modules/@oslojs/jwt/node_modules/@oslojs/encoding/dist/base64.js";
|
|
5
|
-
import "../../node_modules/@oslojs/encoding/dist/base32.js";
|
|
6
|
-
import "../../node_modules/@oslojs/encoding/dist/base64.js";
|
|
7
|
-
import { generateState, generateCodeVerifier } from "../../node_modules/arctic/dist/oauth2.js";
|
|
8
|
-
import { decodeIdToken } from "../../node_modules/arctic/dist/oidc.js";
|
|
2
|
+
import { generateState, generateCodeVerifier, decodeIdToken } from "arctic";
|
|
9
3
|
import { serverEnv } from "../../env.js";
|
|
10
4
|
import { entraId } from "./entra.js";
|
|
11
5
|
import { setSessionCookie, setSessionAccessTokenCookie } from "./session.js";
|
package/dist/lib/auth/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sources":["../../../src/lib/auth/api.ts"],"sourcesContent":["import { deleteCookie, getCookie, setCookie } from \"@tanstack/react-start/server\";\r\nimport { decodeIdToken, generateCodeVerifier, generateState } from \"arctic\";\r\nimport type jwt from \"jsonwebtoken\";\r\nimport { serverEnv } from \"~/env\";\r\nimport { entraId } from \"~/lib/auth/entra\";\r\nimport { setSessionAccessTokenCookie, setSessionCookie } from \"~/lib/auth/session\";\r\n\r\nexport const login = async (request: Request): Promise<Response> => {\r\n const url = new URL(request.url);\r\n const redirectUri = url.searchParams.get(\"redirect_uri\") || \"/\";\r\n\r\n const state = generateState();\r\n const codeVerifier = generateCodeVerifier();\r\n const scopes = [\"openid\", \"profile\", \"offline_access\", \"User.Read\"];\r\n const authorizationURL = entraId.createAuthorizationURL(state, codeVerifier, scopes);\r\n\r\n setCookie(\"entra_oauth_state\", state, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 60 * 10 // 10 minutes\r\n });\r\n\r\n setCookie(\"entra_code_verifier\", codeVerifier, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 60 * 10 // 10 minutes,\r\n });\r\n\r\n setCookie(\"entra_redirect_uri\", redirectUri, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 60 * 10 // 10 minutes,\r\n });\r\n\r\n return Response.redirect(authorizationURL.href);\r\n};\r\n\r\nexport const callback = async (request: Request): Promise<Response> => {\r\n const url = new URL(request.url);\r\n const code = url.searchParams.get(\"code\");\r\n if (!code) return new Response(\"Missing code\", { status: 400 });\r\n const state = url.searchParams.get(\"state\");\r\n const storedState = getCookie(\"entra_oauth_state\") ?? null;\r\n const codeVerifier = getCookie(\"entra_code_verifier\") ?? null;\r\n const redirectUri = getCookie(\"entra_redirect_uri\") ?? \"/\";\r\n\r\n if (!state || !storedState || !codeVerifier || !redirectUri) throw new Response(\"Missing entra oauth data in cookies\", { status: 400 });\r\n if (state !== storedState) return new Response(\"Invalid oauth state\", { status: 400 });\r\n\r\n deleteCookie(\"entra_oauth_state\");\r\n deleteCookie(\"entra_code_verifier\");\r\n deleteCookie(\"entra_redirect_uri\");\r\n\r\n const tokens = await entraId.validateAuthorizationCode(code, codeVerifier);\r\n\r\n const idToken = tokens.idToken();\r\n const claims = decodeIdToken(idToken) as jwt.JwtPayload;\r\n\r\n await setSessionCookie({\r\n refreshToken: tokens.refreshToken(),\r\n user: {\r\n id: claims.oid,\r\n name: claims.name.split(\"/\")[0],\r\n email: claims.preferred_username,\r\n }\r\n });\r\n\r\n await setSessionAccessTokenCookie(tokens.accessToken());\r\n\r\n return new Response(null, {\r\n status: 302,\r\n headers: { Location: redirectUri },\r\n });\r\n};\r\n\r\nexport const logout = async (request: Request): Promise<Response> => {\r\n const url = new URL(request.url);\r\n\r\n // const { session } = await validateRequest();\r\n // if (!session) {\r\n // return new Response(null, { status: 302, headers: { Location: \"/\" } });\r\n // }\r\n // setCookie(SESSION_COOKIE_NAME, \"\", {\r\n // httpOnly: true,\r\n // sameSite: \"lax\",\r\n // secure: serverEnv.NODE_ENV === \"production\",\r\n // maxAge: 0,\r\n // path: \"/\",\r\n // });\r\n\r\n return new Response(null, { status: 302, headers: { Location: url.href } });\r\n};\r\n"],"names":["login","request","url","URL","redirectUri","searchParams","get","state","generateState","codeVerifier","generateCodeVerifier","scopes","authorizationURL","entraId","createAuthorizationURL","setCookie","secure","serverEnv","NODE_ENV","path","httpOnly","sameSite","maxAge","Response","redirect","href","callback","code","status","storedState","getCookie","deleteCookie","tokens","validateAuthorizationCode","idToken","claims","decodeIdToken","setSessionCookie","refreshToken","user","id","oid","name","split","email","preferred_username","setSessionAccessTokenCookie","accessToken","headers","Location","logout"],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.js","sources":["../../../src/lib/auth/api.ts"],"sourcesContent":["import { deleteCookie, getCookie, setCookie } from \"@tanstack/react-start/server\";\r\nimport { decodeIdToken, generateCodeVerifier, generateState } from \"arctic\";\r\nimport type jwt from \"jsonwebtoken\";\r\nimport { serverEnv } from \"~/env\";\r\nimport { entraId } from \"~/lib/auth/entra\";\r\nimport { setSessionAccessTokenCookie, setSessionCookie } from \"~/lib/auth/session\";\r\n\r\nexport const login = async (request: Request): Promise<Response> => {\r\n const url = new URL(request.url);\r\n const redirectUri = url.searchParams.get(\"redirect_uri\") || \"/\";\r\n\r\n const state = generateState();\r\n const codeVerifier = generateCodeVerifier();\r\n const scopes = [\"openid\", \"profile\", \"offline_access\", \"User.Read\"];\r\n const authorizationURL = entraId.createAuthorizationURL(state, codeVerifier, scopes);\r\n\r\n setCookie(\"entra_oauth_state\", state, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 60 * 10 // 10 minutes\r\n });\r\n\r\n setCookie(\"entra_code_verifier\", codeVerifier, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 60 * 10 // 10 minutes,\r\n });\r\n\r\n setCookie(\"entra_redirect_uri\", redirectUri, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 60 * 10 // 10 minutes,\r\n });\r\n\r\n return Response.redirect(authorizationURL.href);\r\n};\r\n\r\nexport const callback = async (request: Request): Promise<Response> => {\r\n const url = new URL(request.url);\r\n const code = url.searchParams.get(\"code\");\r\n if (!code) return new Response(\"Missing code\", { status: 400 });\r\n const state = url.searchParams.get(\"state\");\r\n const storedState = getCookie(\"entra_oauth_state\") ?? null;\r\n const codeVerifier = getCookie(\"entra_code_verifier\") ?? null;\r\n const redirectUri = getCookie(\"entra_redirect_uri\") ?? \"/\";\r\n\r\n if (!state || !storedState || !codeVerifier || !redirectUri) throw new Response(\"Missing entra oauth data in cookies\", { status: 400 });\r\n if (state !== storedState) return new Response(\"Invalid oauth state\", { status: 400 });\r\n\r\n deleteCookie(\"entra_oauth_state\");\r\n deleteCookie(\"entra_code_verifier\");\r\n deleteCookie(\"entra_redirect_uri\");\r\n\r\n const tokens = await entraId.validateAuthorizationCode(code, codeVerifier);\r\n\r\n const idToken = tokens.idToken();\r\n const claims = decodeIdToken(idToken) as jwt.JwtPayload;\r\n\r\n await setSessionCookie({\r\n refreshToken: tokens.refreshToken(),\r\n user: {\r\n id: claims.oid,\r\n name: claims.name.split(\"/\")[0],\r\n email: claims.preferred_username,\r\n }\r\n });\r\n\r\n await setSessionAccessTokenCookie(tokens.accessToken());\r\n\r\n return new Response(null, {\r\n status: 302,\r\n headers: { Location: redirectUri },\r\n });\r\n};\r\n\r\nexport const logout = async (request: Request): Promise<Response> => {\r\n const url = new URL(request.url);\r\n\r\n // const { session } = await validateRequest();\r\n // if (!session) {\r\n // return new Response(null, { status: 302, headers: { Location: \"/\" } });\r\n // }\r\n // setCookie(SESSION_COOKIE_NAME, \"\", {\r\n // httpOnly: true,\r\n // sameSite: \"lax\",\r\n // secure: serverEnv.NODE_ENV === \"production\",\r\n // maxAge: 0,\r\n // path: \"/\",\r\n // });\r\n\r\n return new Response(null, { status: 302, headers: { Location: url.href } });\r\n};\r\n"],"names":["login","request","url","URL","redirectUri","searchParams","get","state","generateState","codeVerifier","generateCodeVerifier","scopes","authorizationURL","entraId","createAuthorizationURL","setCookie","secure","serverEnv","NODE_ENV","path","httpOnly","sameSite","maxAge","Response","redirect","href","callback","code","status","storedState","getCookie","deleteCookie","tokens","validateAuthorizationCode","idToken","claims","decodeIdToken","setSessionCookie","refreshToken","user","id","oid","name","split","email","preferred_username","setSessionAccessTokenCookie","accessToken","headers","Location","logout"],"mappings":";;;;;AAOO,MAAMA,QAAQ,OAAOC,YAAwC;AAChE,QAAMC,MAAM,IAAIC,IAAIF,QAAQC,GAAG;AAC/B,QAAME,cAAcF,IAAIG,aAAaC,IAAI,cAAc,KAAK;AAE5D,QAAMC,QAAQC,cAAAA;AACd,QAAMC,eAAeC,qBAAAA;AACrB,QAAMC,SAAS,CAAC,UAAU,WAAW,kBAAkB,WAAW;AAClE,QAAMC,mBAAmBC,QAAQC,uBAAuBP,OAAOE,cAAcE,MAAM;AAEnFI,YAAU,qBAAqBR,OAAO;AAAA,IAClCS,QAAQC,UAAUC,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,KAAK;AAAA;AAAA,EAAA,CAChB;AAEDP,YAAU,uBAAuBN,cAAc;AAAA,IAC3CO,QAAQC,UAAUC,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,KAAK;AAAA;AAAA,EAAA,CAChB;AAEDP,YAAU,sBAAsBX,aAAa;AAAA,IACzCY,QAAQC,UAAUC,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,KAAK;AAAA;AAAA,EAAA,CAChB;AAED,SAAOC,SAASC,SAASZ,iBAAiBa,IAAI;AAClD;AAEO,MAAMC,WAAW,OAAOzB,YAAwC;AACnE,QAAMC,MAAM,IAAIC,IAAIF,QAAQC,GAAG;AAC/B,QAAMyB,OAAOzB,IAAIG,aAAaC,IAAI,MAAM;AACxC,MAAI,CAACqB,KAAM,QAAO,IAAIJ,SAAS,gBAAgB;AAAA,IAAEK,QAAQ;AAAA,EAAA,CAAK;AAC9D,QAAMrB,QAAQL,IAAIG,aAAaC,IAAI,OAAO;AAC1C,QAAMuB,cAAcC,UAAU,mBAAmB,KAAK;AACtD,QAAMrB,eAAeqB,UAAU,qBAAqB,KAAK;AACzD,QAAM1B,cAAc0B,UAAU,oBAAoB,KAAK;AAEvD,MAAI,CAACvB,SAAS,CAACsB,eAAe,CAACpB,gBAAgB,CAACL,YAAa,OAAM,IAAImB,SAAS,uCAAuC;AAAA,IAAEK,QAAQ;AAAA,EAAA,CAAK;AACtI,MAAIrB,UAAUsB,YAAa,QAAO,IAAIN,SAAS,uBAAuB;AAAA,IAAEK,QAAQ;AAAA,EAAA,CAAK;AAErFG,eAAa,mBAAmB;AAChCA,eAAa,qBAAqB;AAClCA,eAAa,oBAAoB;AAEjC,QAAMC,SAAS,MAAMnB,QAAQoB,0BAA0BN,MAAMlB,YAAY;AAEzE,QAAMyB,UAAUF,OAAOE,QAAAA;AACvB,QAAMC,SAASC,cAAcF,OAAO;AAEpC,QAAMG,iBAAiB;AAAA,IACnBC,cAAcN,OAAOM,aAAAA;AAAAA,IACrBC,MAAM;AAAA,MACFC,IAAIL,OAAOM;AAAAA,MACXC,MAAMP,OAAOO,KAAKC,MAAM,GAAG,EAAE,CAAC;AAAA,MAC9BC,OAAOT,OAAOU;AAAAA,IAAAA;AAAAA,EAClB,CACH;AAED,QAAMC,4BAA4Bd,OAAOe,aAAa;AAEtD,SAAO,IAAIxB,SAAS,MAAM;AAAA,IACtBK,QAAQ;AAAA,IACRoB,SAAS;AAAA,MAAEC,UAAU7C;AAAAA,IAAAA;AAAAA,EAAY,CACpC;AACL;AAEO,MAAM8C,SAAS,OAAOjD,YAAwC;AACjE,QAAMC,MAAM,IAAIC,IAAIF,QAAQC,GAAG;AAc/B,SAAO,IAAIqB,SAAS,MAAM;AAAA,IAAEK,QAAQ;AAAA,IAAKoB,SAAS;AAAA,MAAEC,UAAU/C,IAAIuB;AAAAA,IAAAA;AAAAA,EAAK,CAAG;AAC9E;"}
|
package/dist/lib/auth/entra.js
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import "../../node_modules/@oslojs/jwt/node_modules/@oslojs/encoding/dist/base32.js";
|
|
3
|
-
import "../../node_modules/@oslojs/jwt/node_modules/@oslojs/encoding/dist/base64.js";
|
|
4
|
-
import "../../node_modules/@oslojs/encoding/dist/base32.js";
|
|
5
|
-
import "../../node_modules/@oslojs/encoding/dist/base64.js";
|
|
6
|
-
import "../../node_modules/@oslojs/crypto/dist/sha2/sha512.js";
|
|
7
|
-
import { MicrosoftEntraId } from "../../node_modules/arctic/dist/providers/microsoft-entra-id.js";
|
|
1
|
+
import { MicrosoftEntraId } from "arctic";
|
|
8
2
|
import { serverEnv } from "../../env.js";
|
|
9
3
|
const entraId = new MicrosoftEntraId(serverEnv.MICROSOFT_TENANT_ID, serverEnv.MICROSOFT_CLIENT_ID, serverEnv.MICROSOFT_CLIENT_SECRET, serverEnv.MICROSOFT_REDIRECT_URI);
|
|
10
4
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entra.js","sources":["../../../src/lib/auth/entra.ts"],"sourcesContent":["import { MicrosoftEntraId } from \"arctic\";\r\nimport { serverEnv } from \"~/env\";\r\n\r\nexport const entraId = new MicrosoftEntraId(\r\n serverEnv.MICROSOFT_TENANT_ID,\r\n serverEnv.MICROSOFT_CLIENT_ID,\r\n serverEnv.MICROSOFT_CLIENT_SECRET,\r\n serverEnv.MICROSOFT_REDIRECT_URI,\r\n);\r\n"],"names":["entraId","MicrosoftEntraId","serverEnv","MICROSOFT_TENANT_ID","MICROSOFT_CLIENT_ID","MICROSOFT_CLIENT_SECRET","MICROSOFT_REDIRECT_URI"],"mappings":"
|
|
1
|
+
{"version":3,"file":"entra.js","sources":["../../../src/lib/auth/entra.ts"],"sourcesContent":["import { MicrosoftEntraId } from \"arctic\";\r\nimport { serverEnv } from \"~/env\";\r\n\r\nexport const entraId = new MicrosoftEntraId(\r\n serverEnv.MICROSOFT_TENANT_ID,\r\n serverEnv.MICROSOFT_CLIENT_ID,\r\n serverEnv.MICROSOFT_CLIENT_SECRET,\r\n serverEnv.MICROSOFT_REDIRECT_URI,\r\n);\r\n"],"names":["entraId","MicrosoftEntraId","serverEnv","MICROSOFT_TENANT_ID","MICROSOFT_CLIENT_ID","MICROSOFT_CLIENT_SECRET","MICROSOFT_REDIRECT_URI"],"mappings":";;AAGO,MAAMA,UAAU,IAAIC,iBACvBC,UAAUC,qBACVD,UAAUE,qBACVF,UAAUG,yBACVH,UAAUI,sBACd;"}
|
package/dist/lib/auth/session.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { redirect } from "@tanstack/react-router";
|
|
2
2
|
import { getCookie, deleteCookie, setCookie } from "@tanstack/react-start/server";
|
|
3
|
-
import jwt from "
|
|
3
|
+
import jwt from "jsonwebtoken";
|
|
4
4
|
import z__default from "zod";
|
|
5
5
|
import "jwks-rsa";
|
|
6
6
|
import { entraId } from "./entra.js";
|
package/package.json
CHANGED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as __viteBrowserExternal from "./__vite-browser-external.js";
|
|
2
|
-
import { getAugmentedNamespace } from "./_commonjsHelpers.js";
|
|
3
|
-
const require$$11 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal);
|
|
4
|
-
export {
|
|
5
|
-
require$$11 as default
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=___vite-browser-external.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"___vite-browser-external.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"__vite-browser-external.js","sources":["../../__vite-browser-external"],"sourcesContent":["export default {}"],"names":[],"mappings":"AAAA,MAAA,wBAAe,CAAA;"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
function getDefaultExportFromCjs(x) {
|
|
2
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
3
|
-
}
|
|
4
|
-
function getAugmentedNamespace(n) {
|
|
5
|
-
if (Object.prototype.hasOwnProperty.call(n, "__esModule")) return n;
|
|
6
|
-
var f = n.default;
|
|
7
|
-
if (typeof f == "function") {
|
|
8
|
-
var a = function a2() {
|
|
9
|
-
var isInstance = false;
|
|
10
|
-
try {
|
|
11
|
-
isInstance = this instanceof a2;
|
|
12
|
-
} catch {
|
|
13
|
-
}
|
|
14
|
-
if (isInstance) {
|
|
15
|
-
return Reflect.construct(f, arguments, this.constructor);
|
|
16
|
-
}
|
|
17
|
-
return f.apply(this, arguments);
|
|
18
|
-
};
|
|
19
|
-
a.prototype = f.prototype;
|
|
20
|
-
} else a = {};
|
|
21
|
-
Object.defineProperty(a, "__esModule", { value: true });
|
|
22
|
-
Object.keys(n).forEach(function(k) {
|
|
23
|
-
var d = Object.getOwnPropertyDescriptor(n, k);
|
|
24
|
-
Object.defineProperty(a, k, d.get ? d : {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function() {
|
|
27
|
-
return n[k];
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
return a;
|
|
32
|
-
}
|
|
33
|
-
export {
|
|
34
|
-
getAugmentedNamespace,
|
|
35
|
-
getDefaultExportFromCjs
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=_commonjsHelpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_commonjsHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/_virtual/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { getDefaultExportFromCjs } from "./_commonjsHelpers.js";
|
|
2
|
-
import { __require as requireJsonwebtoken } from "../node_modules/jsonwebtoken/index.js";
|
|
3
|
-
var jsonwebtokenExports = requireJsonwebtoken();
|
|
4
|
-
const jwt = /* @__PURE__ */ getDefaultExportFromCjs(jsonwebtokenExports);
|
|
5
|
-
export {
|
|
6
|
-
jwt as default
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/dist/_virtual/index2.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/_virtual/index3.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/_virtual/index4.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/_virtual/index5.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/_virtual/index6.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/_virtual/re.js
DELETED
package/dist/_virtual/re.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"re.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bits.js","sources":["../../../../../node_modules/@oslojs/binary/dist/bits.js"],"sourcesContent":["export function rotl32(x, n) {\n return ((x << n) | (x >>> (32 - n))) >>> 0;\n}\nexport function rotr32(x, n) {\n return ((x << (32 - n)) | (x >>> n)) >>> 0;\n}\nexport function rotr64(x, n) {\n return ((x << BigInt(64 - n)) | (x >> BigInt(n))) & 0xffffffffffffffffn;\n}\nexport function rotl64(x, n) {\n return ((x << BigInt(n)) | (x >> BigInt(64 - n))) & 0xffffffffffffffffn;\n}\n"],"names":[],"mappings":"AAGO,SAAS,OAAO,GAAG,GAAG;AACzB,UAAS,KAAM,KAAK,IAAO,MAAM,OAAQ;AAC7C;","x_google_ignoreList":[0]}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
class BigEndian {
|
|
2
|
-
uint8(data, offset) {
|
|
3
|
-
if (data.byteLength < offset + 1) {
|
|
4
|
-
throw new TypeError("Insufficient bytes");
|
|
5
|
-
}
|
|
6
|
-
return data[offset];
|
|
7
|
-
}
|
|
8
|
-
uint16(data, offset) {
|
|
9
|
-
if (data.byteLength < offset + 2) {
|
|
10
|
-
throw new TypeError("Insufficient bytes");
|
|
11
|
-
}
|
|
12
|
-
return data[offset] << 8 | data[offset + 1];
|
|
13
|
-
}
|
|
14
|
-
uint32(data, offset) {
|
|
15
|
-
if (data.byteLength < offset + 4) {
|
|
16
|
-
throw new TypeError("Insufficient bytes");
|
|
17
|
-
}
|
|
18
|
-
let result = 0;
|
|
19
|
-
for (let i = 0; i < 4; i++) {
|
|
20
|
-
result |= data[offset + i] << 24 - i * 8;
|
|
21
|
-
}
|
|
22
|
-
return result;
|
|
23
|
-
}
|
|
24
|
-
uint64(data, offset) {
|
|
25
|
-
if (data.byteLength < offset + 8) {
|
|
26
|
-
throw new TypeError("Insufficient bytes");
|
|
27
|
-
}
|
|
28
|
-
let result = 0n;
|
|
29
|
-
for (let i = 0; i < 8; i++) {
|
|
30
|
-
result |= BigInt(data[offset + i]) << BigInt(56 - i * 8);
|
|
31
|
-
}
|
|
32
|
-
return result;
|
|
33
|
-
}
|
|
34
|
-
putUint8(target, value, offset) {
|
|
35
|
-
if (target.length < offset + 1) {
|
|
36
|
-
throw new TypeError("Not enough space");
|
|
37
|
-
}
|
|
38
|
-
if (value < 0 || value > 255) {
|
|
39
|
-
throw new TypeError("Invalid uint8 value");
|
|
40
|
-
}
|
|
41
|
-
target[offset] = value;
|
|
42
|
-
}
|
|
43
|
-
putUint16(target, value, offset) {
|
|
44
|
-
if (target.length < offset + 2) {
|
|
45
|
-
throw new TypeError("Not enough space");
|
|
46
|
-
}
|
|
47
|
-
if (value < 0 || value > 65535) {
|
|
48
|
-
throw new TypeError("Invalid uint16 value");
|
|
49
|
-
}
|
|
50
|
-
target[offset] = value >> 8;
|
|
51
|
-
target[offset + 1] = value & 255;
|
|
52
|
-
}
|
|
53
|
-
putUint32(target, value, offset) {
|
|
54
|
-
if (target.length < offset + 4) {
|
|
55
|
-
throw new TypeError("Not enough space");
|
|
56
|
-
}
|
|
57
|
-
if (value < 0 || value > 4294967295) {
|
|
58
|
-
throw new TypeError("Invalid uint32 value");
|
|
59
|
-
}
|
|
60
|
-
for (let i = 0; i < 4; i++) {
|
|
61
|
-
target[offset + i] = value >> (3 - i) * 8 & 255;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
putUint64(target, value, offset) {
|
|
65
|
-
if (target.length < offset + 8) {
|
|
66
|
-
throw new TypeError("Not enough space");
|
|
67
|
-
}
|
|
68
|
-
if (value < 0 || value > 18446744073709551615n) {
|
|
69
|
-
throw new TypeError("Invalid uint64 value");
|
|
70
|
-
}
|
|
71
|
-
for (let i = 0; i < 8; i++) {
|
|
72
|
-
target[offset + i] = Number(value >> BigInt((7 - i) * 8) & 0xffn);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
const bigEndian = new BigEndian();
|
|
77
|
-
export {
|
|
78
|
-
bigEndian
|
|
79
|
-
};
|
|
80
|
-
//# sourceMappingURL=uint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uint.js","sources":["../../../../../node_modules/@oslojs/binary/dist/uint.js"],"sourcesContent":["class BigEndian {\n uint8(data, offset) {\n if (data.byteLength < offset + 1) {\n throw new TypeError(\"Insufficient bytes\");\n }\n return data[offset];\n }\n uint16(data, offset) {\n if (data.byteLength < offset + 2) {\n throw new TypeError(\"Insufficient bytes\");\n }\n return (data[offset] << 8) | data[offset + 1];\n }\n uint32(data, offset) {\n if (data.byteLength < offset + 4) {\n throw new TypeError(\"Insufficient bytes\");\n }\n let result = 0;\n for (let i = 0; i < 4; i++) {\n result |= data[offset + i] << (24 - i * 8);\n }\n return result;\n }\n uint64(data, offset) {\n if (data.byteLength < offset + 8) {\n throw new TypeError(\"Insufficient bytes\");\n }\n let result = 0n;\n for (let i = 0; i < 8; i++) {\n result |= BigInt(data[offset + i]) << BigInt(56 - i * 8);\n }\n return result;\n }\n putUint8(target, value, offset) {\n if (target.length < offset + 1) {\n throw new TypeError(\"Not enough space\");\n }\n if (value < 0 || value > 255) {\n throw new TypeError(\"Invalid uint8 value\");\n }\n target[offset] = value;\n }\n putUint16(target, value, offset) {\n if (target.length < offset + 2) {\n throw new TypeError(\"Not enough space\");\n }\n if (value < 0 || value > 65535) {\n throw new TypeError(\"Invalid uint16 value\");\n }\n target[offset] = value >> 8;\n target[offset + 1] = value & 0xff;\n }\n putUint32(target, value, offset) {\n if (target.length < offset + 4) {\n throw new TypeError(\"Not enough space\");\n }\n if (value < 0 || value > 4294967295) {\n throw new TypeError(\"Invalid uint32 value\");\n }\n for (let i = 0; i < 4; i++) {\n target[offset + i] = (value >> ((3 - i) * 8)) & 0xff;\n }\n }\n putUint64(target, value, offset) {\n if (target.length < offset + 8) {\n throw new TypeError(\"Not enough space\");\n }\n if (value < 0 || value > 18446744073709551615n) {\n throw new TypeError(\"Invalid uint64 value\");\n }\n for (let i = 0; i < 8; i++) {\n target[offset + i] = Number((value >> BigInt((7 - i) * 8)) & 0xffn);\n }\n }\n}\nclass LittleEndian {\n uint8(data, offset) {\n if (data.byteLength < offset + 1) {\n throw new TypeError(\"Insufficient bytes\");\n }\n return data[offset];\n }\n uint16(data, offset) {\n if (data.byteLength < offset + 2) {\n throw new TypeError(\"Insufficient bytes\");\n }\n return data[offset] | (data[offset + 1] << 8);\n }\n uint32(data, offset) {\n if (data.byteLength < offset + 4) {\n throw new TypeError(\"Insufficient bytes\");\n }\n let result = 0;\n for (let i = 0; i < 4; i++) {\n result |= data[offset + i] << (i * 8);\n }\n return result;\n }\n uint64(data, offset) {\n if (data.byteLength < offset + 8) {\n throw new TypeError(\"Insufficient bytes\");\n }\n let result = 0n;\n for (let i = 0; i < 8; i++) {\n result |= BigInt(data[offset + i]) << BigInt(i * 8);\n }\n return result;\n }\n putUint8(target, value, offset) {\n if (target.length < 1 + offset) {\n throw new TypeError(\"Insufficient space\");\n }\n if (value < 0 || value > 255) {\n throw new TypeError(\"Invalid uint8 value\");\n }\n target[offset] = value;\n }\n putUint16(target, value, offset) {\n if (target.length < 2 + offset) {\n throw new TypeError(\"Insufficient space\");\n }\n if (value < 0 || value > 65535) {\n throw new TypeError(\"Invalid uint16 value\");\n }\n target[offset + 1] = value >> 8;\n target[offset] = value & 0xff;\n }\n putUint32(target, value, offset) {\n if (target.length < 4 + offset) {\n throw new TypeError(\"Insufficient space\");\n }\n if (value < 0 || value > 4294967295) {\n throw new TypeError(\"Invalid uint32 value\");\n }\n for (let i = 0; i < 4; i++) {\n target[offset + i] = (value >> (i * 8)) & 0xff;\n }\n }\n putUint64(target, value, offset) {\n if (target.length < 8 + offset) {\n throw new TypeError(\"Insufficient space\");\n }\n if (value < 0 || value > 18446744073709551615n) {\n throw new TypeError(\"Invalid uint64 value\");\n }\n for (let i = 0; i < 8; i++) {\n target[offset + i] = Number((value >> BigInt(i * 8)) & 0xffn);\n }\n }\n}\nexport const bigEndian = new BigEndian();\nexport const littleEndian = new LittleEndian();\n"],"names":[],"mappings":"AAAA,MAAM,UAAU;AAAA,EACZ,MAAM,MAAM,QAAQ;AAChB,QAAI,KAAK,aAAa,SAAS,GAAG;AAC9B,YAAM,IAAI,UAAU,oBAAoB;AAAA,IAC5C;AACA,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EACA,OAAO,MAAM,QAAQ;AACjB,QAAI,KAAK,aAAa,SAAS,GAAG;AAC9B,YAAM,IAAI,UAAU,oBAAoB;AAAA,IAC5C;AACA,WAAQ,KAAK,MAAM,KAAK,IAAK,KAAK,SAAS,CAAC;AAAA,EAChD;AAAA,EACA,OAAO,MAAM,QAAQ;AACjB,QAAI,KAAK,aAAa,SAAS,GAAG;AAC9B,YAAM,IAAI,UAAU,oBAAoB;AAAA,IAC5C;AACA,QAAI,SAAS;AACb,aAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AACxB,gBAAU,KAAK,SAAS,CAAC,KAAM,KAAK,IAAI;AAAA,IAC5C;AACA,WAAO;AAAA,EACX;AAAA,EACA,OAAO,MAAM,QAAQ;AACjB,QAAI,KAAK,aAAa,SAAS,GAAG;AAC9B,YAAM,IAAI,UAAU,oBAAoB;AAAA,IAC5C;AACA,QAAI,SAAS;AACb,aAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AACxB,gBAAU,OAAO,KAAK,SAAS,CAAC,CAAC,KAAK,OAAO,KAAK,IAAI,CAAC;AAAA,IAC3D;AACA,WAAO;AAAA,EACX;AAAA,EACA,SAAS,QAAQ,OAAO,QAAQ;AAC5B,QAAI,OAAO,SAAS,SAAS,GAAG;AAC5B,YAAM,IAAI,UAAU,kBAAkB;AAAA,IAC1C;AACA,QAAI,QAAQ,KAAK,QAAQ,KAAK;AAC1B,YAAM,IAAI,UAAU,qBAAqB;AAAA,IAC7C;AACA,WAAO,MAAM,IAAI;AAAA,EACrB;AAAA,EACA,UAAU,QAAQ,OAAO,QAAQ;AAC7B,QAAI,OAAO,SAAS,SAAS,GAAG;AAC5B,YAAM,IAAI,UAAU,kBAAkB;AAAA,IAC1C;AACA,QAAI,QAAQ,KAAK,QAAQ,OAAO;AAC5B,YAAM,IAAI,UAAU,sBAAsB;AAAA,IAC9C;AACA,WAAO,MAAM,IAAI,SAAS;AAC1B,WAAO,SAAS,CAAC,IAAI,QAAQ;AAAA,EACjC;AAAA,EACA,UAAU,QAAQ,OAAO,QAAQ;AAC7B,QAAI,OAAO,SAAS,SAAS,GAAG;AAC5B,YAAM,IAAI,UAAU,kBAAkB;AAAA,IAC1C;AACA,QAAI,QAAQ,KAAK,QAAQ,YAAY;AACjC,YAAM,IAAI,UAAU,sBAAsB;AAAA,IAC9C;AACA,aAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AACxB,aAAO,SAAS,CAAC,IAAK,UAAW,IAAI,KAAK,IAAM;AAAA,IACpD;AAAA,EACJ;AAAA,EACA,UAAU,QAAQ,OAAO,QAAQ;AAC7B,QAAI,OAAO,SAAS,SAAS,GAAG;AAC5B,YAAM,IAAI,UAAU,kBAAkB;AAAA,IAC1C;AACA,QAAI,QAAQ,KAAK,QAAQ,uBAAuB;AAC5C,YAAM,IAAI,UAAU,sBAAsB;AAAA,IAC9C;AACA,aAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AACxB,aAAO,SAAS,CAAC,IAAI,OAAQ,SAAS,QAAQ,IAAI,KAAK,CAAC,IAAK,KAAK;AAAA,IACtE;AAAA,EACJ;AACJ;AA4EY,MAAC,YAAY,IAAI,UAAS;","x_google_ignoreList":[0]}
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { bigEndian } from "../../../binary/dist/uint.js";
|
|
2
|
-
import { rotr32 } from "../../../binary/dist/bits.js";
|
|
3
|
-
function sha256(data) {
|
|
4
|
-
const hash = new SHA256();
|
|
5
|
-
hash.update(data);
|
|
6
|
-
return hash.digest();
|
|
7
|
-
}
|
|
8
|
-
class SHA256 {
|
|
9
|
-
blockSize = 64;
|
|
10
|
-
size = 32;
|
|
11
|
-
blocks = new Uint8Array(64);
|
|
12
|
-
currentBlockSize = 0;
|
|
13
|
-
H = new Uint32Array([
|
|
14
|
-
1779033703,
|
|
15
|
-
3144134277,
|
|
16
|
-
1013904242,
|
|
17
|
-
2773480762,
|
|
18
|
-
1359893119,
|
|
19
|
-
2600822924,
|
|
20
|
-
528734635,
|
|
21
|
-
1541459225
|
|
22
|
-
]);
|
|
23
|
-
l = 0n;
|
|
24
|
-
w = new Uint32Array(64);
|
|
25
|
-
update(data) {
|
|
26
|
-
this.l += BigInt(data.byteLength) * 8n;
|
|
27
|
-
if (this.currentBlockSize + data.byteLength < 64) {
|
|
28
|
-
this.blocks.set(data, this.currentBlockSize);
|
|
29
|
-
this.currentBlockSize += data.byteLength;
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
let processed = 0;
|
|
33
|
-
if (this.currentBlockSize > 0) {
|
|
34
|
-
const next = data.slice(0, 64 - this.currentBlockSize);
|
|
35
|
-
this.blocks.set(next, this.currentBlockSize);
|
|
36
|
-
this.process();
|
|
37
|
-
processed += next.byteLength;
|
|
38
|
-
this.currentBlockSize = 0;
|
|
39
|
-
}
|
|
40
|
-
while (processed + 64 <= data.byteLength) {
|
|
41
|
-
const next = data.slice(processed, processed + 64);
|
|
42
|
-
this.blocks.set(next);
|
|
43
|
-
this.process();
|
|
44
|
-
processed += 64;
|
|
45
|
-
}
|
|
46
|
-
if (data.byteLength - processed > 0) {
|
|
47
|
-
const remaining = data.slice(processed);
|
|
48
|
-
this.blocks.set(remaining);
|
|
49
|
-
this.currentBlockSize = remaining.byteLength;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
digest() {
|
|
53
|
-
this.blocks[this.currentBlockSize] = 128;
|
|
54
|
-
this.currentBlockSize += 1;
|
|
55
|
-
if (64 - this.currentBlockSize < 8) {
|
|
56
|
-
this.blocks.fill(0, this.currentBlockSize);
|
|
57
|
-
this.process();
|
|
58
|
-
this.currentBlockSize = 0;
|
|
59
|
-
}
|
|
60
|
-
this.blocks.fill(0, this.currentBlockSize);
|
|
61
|
-
bigEndian.putUint64(this.blocks, this.l, this.blockSize - 8);
|
|
62
|
-
this.process();
|
|
63
|
-
const result = new Uint8Array(32);
|
|
64
|
-
for (let i = 0; i < 8; i++) {
|
|
65
|
-
bigEndian.putUint32(result, this.H[i], i * 4);
|
|
66
|
-
}
|
|
67
|
-
return result;
|
|
68
|
-
}
|
|
69
|
-
process() {
|
|
70
|
-
for (let t = 0; t < 16; t++) {
|
|
71
|
-
this.w[t] = (this.blocks[t * 4] << 24 | this.blocks[t * 4 + 1] << 16 | this.blocks[t * 4 + 2] << 8 | this.blocks[t * 4 + 3]) >>> 0;
|
|
72
|
-
}
|
|
73
|
-
for (let t = 16; t < 64; t++) {
|
|
74
|
-
const sigma1 = (rotr32(this.w[t - 2], 17) ^ rotr32(this.w[t - 2], 19) ^ this.w[t - 2] >>> 10) >>> 0;
|
|
75
|
-
const sigma0 = (rotr32(this.w[t - 15], 7) ^ rotr32(this.w[t - 15], 18) ^ this.w[t - 15] >>> 3) >>> 0;
|
|
76
|
-
this.w[t] = sigma1 + this.w[t - 7] + sigma0 + this.w[t - 16] | 0;
|
|
77
|
-
}
|
|
78
|
-
let a = this.H[0];
|
|
79
|
-
let b = this.H[1];
|
|
80
|
-
let c = this.H[2];
|
|
81
|
-
let d = this.H[3];
|
|
82
|
-
let e = this.H[4];
|
|
83
|
-
let f = this.H[5];
|
|
84
|
-
let g = this.H[6];
|
|
85
|
-
let h = this.H[7];
|
|
86
|
-
for (let t = 0; t < 64; t++) {
|
|
87
|
-
const sigma1 = (rotr32(e, 6) ^ rotr32(e, 11) ^ rotr32(e, 25)) >>> 0;
|
|
88
|
-
const ch = (e & f ^ ~e & g) >>> 0;
|
|
89
|
-
const t1 = h + sigma1 + ch + K[t] + this.w[t] | 0;
|
|
90
|
-
const sigma0 = (rotr32(a, 2) ^ rotr32(a, 13) ^ rotr32(a, 22)) >>> 0;
|
|
91
|
-
const maj = (a & b ^ a & c ^ b & c) >>> 0;
|
|
92
|
-
const t2 = sigma0 + maj | 0;
|
|
93
|
-
h = g;
|
|
94
|
-
g = f;
|
|
95
|
-
f = e;
|
|
96
|
-
e = d + t1 | 0;
|
|
97
|
-
d = c;
|
|
98
|
-
c = b;
|
|
99
|
-
b = a;
|
|
100
|
-
a = t1 + t2 | 0;
|
|
101
|
-
}
|
|
102
|
-
this.H[0] = a + this.H[0] | 0;
|
|
103
|
-
this.H[1] = b + this.H[1] | 0;
|
|
104
|
-
this.H[2] = c + this.H[2] | 0;
|
|
105
|
-
this.H[3] = d + this.H[3] | 0;
|
|
106
|
-
this.H[4] = e + this.H[4] | 0;
|
|
107
|
-
this.H[5] = f + this.H[5] | 0;
|
|
108
|
-
this.H[6] = g + this.H[6] | 0;
|
|
109
|
-
this.H[7] = h + this.H[7] | 0;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
const K = new Uint32Array([
|
|
113
|
-
1116352408,
|
|
114
|
-
1899447441,
|
|
115
|
-
3049323471,
|
|
116
|
-
3921009573,
|
|
117
|
-
961987163,
|
|
118
|
-
1508970993,
|
|
119
|
-
2453635748,
|
|
120
|
-
2870763221,
|
|
121
|
-
3624381080,
|
|
122
|
-
310598401,
|
|
123
|
-
607225278,
|
|
124
|
-
1426881987,
|
|
125
|
-
1925078388,
|
|
126
|
-
2162078206,
|
|
127
|
-
2614888103,
|
|
128
|
-
3248222580,
|
|
129
|
-
3835390401,
|
|
130
|
-
4022224774,
|
|
131
|
-
264347078,
|
|
132
|
-
604807628,
|
|
133
|
-
770255983,
|
|
134
|
-
1249150122,
|
|
135
|
-
1555081692,
|
|
136
|
-
1996064986,
|
|
137
|
-
2554220882,
|
|
138
|
-
2821834349,
|
|
139
|
-
2952996808,
|
|
140
|
-
3210313671,
|
|
141
|
-
3336571891,
|
|
142
|
-
3584528711,
|
|
143
|
-
113926993,
|
|
144
|
-
338241895,
|
|
145
|
-
666307205,
|
|
146
|
-
773529912,
|
|
147
|
-
1294757372,
|
|
148
|
-
1396182291,
|
|
149
|
-
1695183700,
|
|
150
|
-
1986661051,
|
|
151
|
-
2177026350,
|
|
152
|
-
2456956037,
|
|
153
|
-
2730485921,
|
|
154
|
-
2820302411,
|
|
155
|
-
3259730800,
|
|
156
|
-
3345764771,
|
|
157
|
-
3516065817,
|
|
158
|
-
3600352804,
|
|
159
|
-
4094571909,
|
|
160
|
-
275423344,
|
|
161
|
-
430227734,
|
|
162
|
-
506948616,
|
|
163
|
-
659060556,
|
|
164
|
-
883997877,
|
|
165
|
-
958139571,
|
|
166
|
-
1322822218,
|
|
167
|
-
1537002063,
|
|
168
|
-
1747873779,
|
|
169
|
-
1955562222,
|
|
170
|
-
2024104815,
|
|
171
|
-
2227730452,
|
|
172
|
-
2361852424,
|
|
173
|
-
2428436474,
|
|
174
|
-
2756734187,
|
|
175
|
-
3204031479,
|
|
176
|
-
3329325298
|
|
177
|
-
]);
|
|
178
|
-
export {
|
|
179
|
-
SHA256,
|
|
180
|
-
sha256
|
|
181
|
-
};
|
|
182
|
-
//# sourceMappingURL=sha256.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sha256.js","sources":["../../../../../../node_modules/@oslojs/crypto/dist/sha2/sha256.js"],"sourcesContent":["import { bigEndian } from \"@oslojs/binary\";\nimport { rotr32 } from \"@oslojs/binary\";\nexport function sha256(data) {\n const hash = new SHA256();\n hash.update(data);\n return hash.digest();\n}\nexport class SHA256 {\n blockSize = 64;\n size = 32;\n blocks = new Uint8Array(64);\n currentBlockSize = 0;\n H = new Uint32Array([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ]);\n l = 0n;\n w = new Uint32Array(64);\n update(data) {\n this.l += BigInt(data.byteLength) * 8n;\n if (this.currentBlockSize + data.byteLength < 64) {\n this.blocks.set(data, this.currentBlockSize);\n this.currentBlockSize += data.byteLength;\n return;\n }\n let processed = 0;\n if (this.currentBlockSize > 0) {\n const next = data.slice(0, 64 - this.currentBlockSize);\n this.blocks.set(next, this.currentBlockSize);\n this.process();\n processed += next.byteLength;\n this.currentBlockSize = 0;\n }\n while (processed + 64 <= data.byteLength) {\n const next = data.slice(processed, processed + 64);\n this.blocks.set(next);\n this.process();\n processed += 64;\n }\n if (data.byteLength - processed > 0) {\n const remaining = data.slice(processed);\n this.blocks.set(remaining);\n this.currentBlockSize = remaining.byteLength;\n }\n }\n digest() {\n this.blocks[this.currentBlockSize] = 0x80;\n this.currentBlockSize += 1;\n if (64 - this.currentBlockSize < 8) {\n this.blocks.fill(0, this.currentBlockSize);\n this.process();\n this.currentBlockSize = 0;\n }\n this.blocks.fill(0, this.currentBlockSize);\n bigEndian.putUint64(this.blocks, this.l, this.blockSize - 8);\n this.process();\n const result = new Uint8Array(32);\n for (let i = 0; i < 8; i++) {\n bigEndian.putUint32(result, this.H[i], i * 4);\n }\n return result;\n }\n process() {\n for (let t = 0; t < 16; t++) {\n this.w[t] =\n ((this.blocks[t * 4] << 24) |\n (this.blocks[t * 4 + 1] << 16) |\n (this.blocks[t * 4 + 2] << 8) |\n this.blocks[t * 4 + 3]) >>>\n 0;\n }\n for (let t = 16; t < 64; t++) {\n const sigma1 = (rotr32(this.w[t - 2], 17) ^ rotr32(this.w[t - 2], 19) ^ (this.w[t - 2] >>> 10)) >>> 0;\n const sigma0 = (rotr32(this.w[t - 15], 7) ^ rotr32(this.w[t - 15], 18) ^ (this.w[t - 15] >>> 3)) >>> 0;\n this.w[t] = (sigma1 + this.w[t - 7] + sigma0 + this.w[t - 16]) | 0;\n }\n let a = this.H[0];\n let b = this.H[1];\n let c = this.H[2];\n let d = this.H[3];\n let e = this.H[4];\n let f = this.H[5];\n let g = this.H[6];\n let h = this.H[7];\n for (let t = 0; t < 64; t++) {\n const sigma1 = (rotr32(e, 6) ^ rotr32(e, 11) ^ rotr32(e, 25)) >>> 0;\n const ch = ((e & f) ^ (~e & g)) >>> 0;\n const t1 = (h + sigma1 + ch + K[t] + this.w[t]) | 0;\n const sigma0 = (rotr32(a, 2) ^ rotr32(a, 13) ^ rotr32(a, 22)) >>> 0;\n const maj = ((a & b) ^ (a & c) ^ (b & c)) >>> 0;\n const t2 = (sigma0 + maj) | 0;\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n this.H[0] = (a + this.H[0]) | 0;\n this.H[1] = (b + this.H[1]) | 0;\n this.H[2] = (c + this.H[2]) | 0;\n this.H[3] = (d + this.H[3]) | 0;\n this.H[4] = (e + this.H[4]) | 0;\n this.H[5] = (f + this.H[5]) | 0;\n this.H[6] = (g + this.H[6]) | 0;\n this.H[7] = (h + this.H[7]) | 0;\n }\n}\nconst K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
new BigUint64Array([
|
|
2
|
-
0x428a2f98d728ae22n,
|
|
3
|
-
0x7137449123ef65cdn,
|
|
4
|
-
0xb5c0fbcfec4d3b2fn,
|
|
5
|
-
0xe9b5dba58189dbbcn,
|
|
6
|
-
0x3956c25bf348b538n,
|
|
7
|
-
0x59f111f1b605d019n,
|
|
8
|
-
0x923f82a4af194f9bn,
|
|
9
|
-
0xab1c5ed5da6d8118n,
|
|
10
|
-
0xd807aa98a3030242n,
|
|
11
|
-
0x12835b0145706fben,
|
|
12
|
-
0x243185be4ee4b28cn,
|
|
13
|
-
0x550c7dc3d5ffb4e2n,
|
|
14
|
-
0x72be5d74f27b896fn,
|
|
15
|
-
0x80deb1fe3b1696b1n,
|
|
16
|
-
0x9bdc06a725c71235n,
|
|
17
|
-
0xc19bf174cf692694n,
|
|
18
|
-
0xe49b69c19ef14ad2n,
|
|
19
|
-
0xefbe4786384f25e3n,
|
|
20
|
-
0x0fc19dc68b8cd5b5n,
|
|
21
|
-
0x240ca1cc77ac9c65n,
|
|
22
|
-
0x2de92c6f592b0275n,
|
|
23
|
-
0x4a7484aa6ea6e483n,
|
|
24
|
-
0x5cb0a9dcbd41fbd4n,
|
|
25
|
-
0x76f988da831153b5n,
|
|
26
|
-
0x983e5152ee66dfabn,
|
|
27
|
-
0xa831c66d2db43210n,
|
|
28
|
-
0xb00327c898fb213fn,
|
|
29
|
-
0xbf597fc7beef0ee4n,
|
|
30
|
-
0xc6e00bf33da88fc2n,
|
|
31
|
-
0xd5a79147930aa725n,
|
|
32
|
-
0x06ca6351e003826fn,
|
|
33
|
-
0x142929670a0e6e70n,
|
|
34
|
-
0x27b70a8546d22ffcn,
|
|
35
|
-
0x2e1b21385c26c926n,
|
|
36
|
-
0x4d2c6dfc5ac42aedn,
|
|
37
|
-
0x53380d139d95b3dfn,
|
|
38
|
-
0x650a73548baf63den,
|
|
39
|
-
0x766a0abb3c77b2a8n,
|
|
40
|
-
0x81c2c92e47edaee6n,
|
|
41
|
-
0x92722c851482353bn,
|
|
42
|
-
0xa2bfe8a14cf10364n,
|
|
43
|
-
0xa81a664bbc423001n,
|
|
44
|
-
0xc24b8b70d0f89791n,
|
|
45
|
-
0xc76c51a30654be30n,
|
|
46
|
-
0xd192e819d6ef5218n,
|
|
47
|
-
0xd69906245565a910n,
|
|
48
|
-
0xf40e35855771202an,
|
|
49
|
-
0x106aa07032bbd1b8n,
|
|
50
|
-
0x19a4c116b8d2d0c8n,
|
|
51
|
-
0x1e376c085141ab53n,
|
|
52
|
-
0x2748774cdf8eeb99n,
|
|
53
|
-
0x34b0bcb5e19b48a8n,
|
|
54
|
-
0x391c0cb3c5c95a63n,
|
|
55
|
-
0x4ed8aa4ae3418acbn,
|
|
56
|
-
0x5b9cca4f7763e373n,
|
|
57
|
-
0x682e6ff3d6b2b8a3n,
|
|
58
|
-
0x748f82ee5defb2fcn,
|
|
59
|
-
0x78a5636f43172f60n,
|
|
60
|
-
0x84c87814a1f0ab72n,
|
|
61
|
-
0x8cc702081a6439ecn,
|
|
62
|
-
0x90befffa23631e28n,
|
|
63
|
-
0xa4506cebde82bde9n,
|
|
64
|
-
0xbef9a3f7b2c67915n,
|
|
65
|
-
0xc67178f2e372532bn,
|
|
66
|
-
0xca273eceea26619cn,
|
|
67
|
-
0xd186b8c721c0c207n,
|
|
68
|
-
0xeada7dd6cde0eb1en,
|
|
69
|
-
0xf57d4f7fee6ed178n,
|
|
70
|
-
0x06f067aa72176fban,
|
|
71
|
-
0x0a637dc5a2c898a6n,
|
|
72
|
-
0x113f9804bef90daen,
|
|
73
|
-
0x1b710b35131c471bn,
|
|
74
|
-
0x28db77f523047d84n,
|
|
75
|
-
0x32caab7b40c72493n,
|
|
76
|
-
0x3c9ebe0a15c9bebcn,
|
|
77
|
-
0x431d67c49c100d4cn,
|
|
78
|
-
0x4cc5d4becb3e42b6n,
|
|
79
|
-
0x597f299cfc657e2an,
|
|
80
|
-
0x5fcb6fab3ad6faecn,
|
|
81
|
-
0x6c44198c4a475817n
|
|
82
|
-
]);
|
|
83
|
-
//# sourceMappingURL=sha512.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sha512.js","sources":["../../../../../../node_modules/@oslojs/crypto/dist/sha2/sha512.js"],"sourcesContent":["import { bigEndian } from \"@oslojs/binary\";\nimport { rotr64 } from \"@oslojs/binary\";\nexport function sha512(data) {\n const hash = new SHA512();\n hash.update(data);\n return hash.digest();\n}\nexport class SharedSHA512 {\n blockSize = 128;\n size = 64;\n blocks = new Uint8Array(128);\n currentBlockSize = 0;\n l = 0n;\n w = new BigUint64Array(80);\n H;\n constructor(H) {\n if (H.byteLength !== 64) {\n throw new TypeError();\n }\n this.H = H;\n }\n update(data) {\n this.l += BigInt(data.byteLength) * 8n;\n if (this.currentBlockSize + data.byteLength < 128) {\n this.blocks.set(data, this.currentBlockSize);\n this.currentBlockSize += data.byteLength;\n return;\n }\n let processed = 0;\n if (this.currentBlockSize > 0) {\n const next = data.slice(0, 128 - this.currentBlockSize);\n this.blocks.set(next, this.currentBlockSize);\n this.process();\n processed += next.byteLength;\n this.currentBlockSize = 0;\n }\n while (processed + 128 <= data.byteLength) {\n const next = data.slice(processed, processed + 128);\n this.blocks.set(next);\n this.process();\n processed += 128;\n this.currentBlockSize = 0;\n }\n if (data.byteLength - processed > 0) {\n const remaining = data.slice(processed);\n this.blocks.set(remaining);\n this.currentBlockSize = remaining.byteLength;\n }\n }\n putDigest(result) {\n if (result.byteLength > 64 || result.byteLength % 8 !== 0) {\n throw new TypeError();\n }\n this.blocks[this.currentBlockSize] = 0x80;\n this.currentBlockSize += 1;\n if (128 - this.currentBlockSize < 16) {\n this.blocks.fill(0, this.currentBlockSize);\n this.process();\n this.currentBlockSize = 0;\n }\n this.blocks.fill(0, this.currentBlockSize);\n bigEndian.putUint64(this.blocks, this.l, this.blockSize - 8);\n this.process();\n for (let i = 0; i < result.byteLength / 8; i++) {\n bigEndian.putUint64(result, this.H[i], i * 8);\n }\n }\n process() {\n for (let t = 0; t < 16; t++) {\n this.w[t] =\n (BigInt(this.blocks[t * 8]) << 56n) |\n (BigInt(this.blocks[t * 8 + 1]) << 48n) |\n (BigInt(this.blocks[t * 8 + 2]) << 40n) |\n (BigInt(this.blocks[t * 8 + 3]) << 32n) |\n (BigInt(this.blocks[t * 8 + 4]) << 24n) |\n (BigInt(this.blocks[t * 8 + 5]) << 16n) |\n (BigInt(this.blocks[t * 8 + 6]) << 8n) |\n BigInt(this.blocks[t * 8 + 7]);\n }\n for (let t = 16; t < 80; t++) {\n const sigma1 = (rotr64(this.w[t - 2], 19) ^ rotr64(this.w[t - 2], 61) ^ (this.w[t - 2] >> 6n)) &\n 0xffffffffffffffffn;\n const sigma0 = (rotr64(this.w[t - 15], 1) ^ rotr64(this.w[t - 15], 8) ^ (this.w[t - 15] >> 7n)) &\n 0xffffffffffffffffn;\n this.w[t] = (sigma1 + this.w[t - 7] + sigma0 + this.w[t - 16]) & 0xffffffffffffffffn;\n }\n let a = this.H[0];\n let b = this.H[1];\n let c = this.H[2];\n let d = this.H[3];\n let e = this.H[4];\n let f = this.H[5];\n let g = this.H[6];\n let h = this.H[7];\n for (let t = 0; t < 80; t++) {\n const sigma1 = (rotr64(e, 14) ^ rotr64(e, 18) ^ rotr64(e, 41)) & 0xffffffffffffffffn;\n const ch = ((e & f) ^ (~e & g)) & 0xffffffffffffffffn;\n const t1 = (h + sigma1 + ch + K[t] + this.w[t]) & 0xffffffffffffffffn;\n const sigma0 = (rotr64(a, 28) ^ rotr64(a, 34) ^ rotr64(a, 39)) & 0xffffffffffffffffn;\n const maj = ((a & b) ^ (a & c) ^ (b & c)) & 0xffffffffffffffffn;\n const t2 = (sigma0 + maj) & 0xffffffffffffffffn;\n h = g;\n g = f;\n f = e;\n e = (d + t1) & 0xffffffffffffffffn;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) & 0xffffffffffffffffn;\n }\n this.H[0] = (a + this.H[0]) & 0xffffffffffffffffn;\n this.H[1] = (b + this.H[1]) & 0xffffffffffffffffn;\n this.H[2] = (c + this.H[2]) & 0xffffffffffffffffn;\n this.H[3] = (d + this.H[3]) & 0xffffffffffffffffn;\n this.H[4] = (e + this.H[4]) & 0xffffffffffffffffn;\n this.H[5] = (f + this.H[5]) & 0xffffffffffffffffn;\n this.H[6] = (g + this.H[6]) & 0xffffffffffffffffn;\n this.H[7] = (h + this.H[7]) & 0xffffffffffffffffn;\n }\n}\nexport class SHA512 {\n blockSize = 128;\n size = 64;\n sha512 = new SharedSHA512(new BigUint64Array([\n 0x6a09e667f3bcc908n,\n 0xbb67ae8584caa73bn,\n 0x3c6ef372fe94f82bn,\n 0xa54ff53a5f1d36f1n,\n 0x510e527fade682d1n,\n 0x9b05688c2b3e6c1fn,\n 0x1f83d9abfb41bd6bn,\n 0x5be0cd19137e2179n\n ]));\n update(data) {\n this.sha512.update(data);\n }\n digest() {\n const result = new Uint8Array(64);\n this.sha512.putDigest(result);\n return result;\n }\n}\nconst K = new BigUint64Array([\n 0x428a2f98d728ae22n,\n 0x7137449123ef65cdn,\n 0xb5c0fbcfec4d3b2fn,\n 0xe9b5dba58189dbbcn,\n 0x3956c25bf348b538n,\n 0x59f111f1b605d019n,\n 0x923f82a4af194f9bn,\n 0xab1c5ed5da6d8118n,\n 0xd807aa98a3030242n,\n 0x12835b0145706fben,\n 0x243185be4ee4b28cn,\n 0x550c7dc3d5ffb4e2n,\n 0x72be5d74f27b896fn,\n 0x80deb1fe3b1696b1n,\n 0x9bdc06a725c71235n,\n 0xc19bf174cf692694n,\n 0xe49b69c19ef14ad2n,\n 0xefbe4786384f25e3n,\n 0x0fc19dc68b8cd5b5n,\n 0x240ca1cc77ac9c65n,\n 0x2de92c6f592b0275n,\n 0x4a7484aa6ea6e483n,\n 0x5cb0a9dcbd41fbd4n,\n 0x76f988da831153b5n,\n 0x983e5152ee66dfabn,\n 0xa831c66d2db43210n,\n 0xb00327c898fb213fn,\n 0xbf597fc7beef0ee4n,\n 0xc6e00bf33da88fc2n,\n 0xd5a79147930aa725n,\n 0x06ca6351e003826fn,\n 0x142929670a0e6e70n,\n 0x27b70a8546d22ffcn,\n 0x2e1b21385c26c926n,\n 0x4d2c6dfc5ac42aedn,\n 0x53380d139d95b3dfn,\n 0x650a73548baf63den,\n 0x766a0abb3c77b2a8n,\n 0x81c2c92e47edaee6n,\n 0x92722c851482353bn,\n 0xa2bfe8a14cf10364n,\n 0xa81a664bbc423001n,\n 0xc24b8b70d0f89791n,\n 0xc76c51a30654be30n,\n 0xd192e819d6ef5218n,\n 0xd69906245565a910n,\n 0xf40e35855771202an,\n 0x106aa07032bbd1b8n,\n 0x19a4c116b8d2d0c8n,\n 0x1e376c085141ab53n,\n 0x2748774cdf8eeb99n,\n 0x34b0bcb5e19b48a8n,\n 0x391c0cb3c5c95a63n,\n 0x4ed8aa4ae3418acbn,\n 0x5b9cca4f7763e373n,\n 0x682e6ff3d6b2b8a3n,\n 0x748f82ee5defb2fcn,\n 0x78a5636f43172f60n,\n 0x84c87814a1f0ab72n,\n 0x8cc702081a6439ecn,\n 0x90befffa23631e28n,\n 0xa4506cebde82bde9n,\n 0xbef9a3f7b2c67915n,\n 0xc67178f2e372532bn,\n 0xca273eceea26619cn,\n 0xd186b8c721c0c207n,\n 0xeada7dd6cde0eb1en,\n 0xf57d4f7fee6ed178n,\n 0x06f067aa72176fban,\n 0x0a637dc5a2c898a6n,\n 0x113f9804bef90daen,\n 0x1b710b35131c471bn,\n 0x28db77f523047d84n,\n 0x32caab7b40c72493n,\n 0x3c9ebe0a15c9bebcn,\n 0x431d67c49c100d4cn,\n 0x4cc5d4becb3e42b6n,\n 0x597f299cfc657e2an,\n 0x5fcb6fab3ad6faecn,\n 0x6c44198c4a475817n\n]);\n"],"names":[],"mappings":"AA8IU,IAAI,eAAe;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,CAAC;","x_google_ignoreList":[0]}
|