Skip to content

Commit 08abea3

Browse files
authored
refactor!: fix encoding issue (#27)
1 parent 1388cbd commit 08abea3

File tree

6 files changed

+245
-575
lines changed

6 files changed

+245
-575
lines changed

packages/rn-sample/App.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
// eslint-disable-next-line import/no-unassigned-import
2-
import '@logto/rn/polyfill';
3-
41
import { LogtoProvider, Prompt, useLogto, type IdTokenClaims } from '@logto/rn';
52
import { StatusBar } from 'expo-status-bar';
63
import { useEffect, useState } from 'react';

packages/rn-sample/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,24 @@
1212
"ios": "expo run:ios"
1313
},
1414
"dependencies": {
15-
"@expo/metro-runtime": "~3.1.3",
15+
"@expo/metro-runtime": "~3.2.1",
1616
"@logto/rn": "workspace:^",
17-
"@react-native-async-storage/async-storage": "^1.22.0",
17+
"@react-native-async-storage/async-storage": "^1.23.1",
1818
"expo": "~51.0.8",
1919
"expo-crypto": "^13.0.2",
2020
"expo-secure-store": "^13.0.1",
2121
"expo-status-bar": "~1.12.1",
2222
"expo-web-browser": "^13.0.3",
2323
"react": "18.2.0",
2424
"react-dom": "18.2.0",
25-
"react-native": "0.73.7",
25+
"react-native": "0.74.1",
2626
"react-native-web": "~0.19.6"
2727
},
2828
"devDependencies": {
2929
"@babel/core": "^7.24.4",
3030
"@silverhand/eslint-config": "^6.0.1",
3131
"@silverhand/eslint-config-react": "^6.0.2",
32-
"@types/react": "~18.2.45",
32+
"@types/react": "~18.2.79",
3333
"eslint": "^8.57.0",
3434
"prettier": "^3.2.5",
3535
"stylelint": "^15.0.0",

packages/rn/package.json

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@
1212
"import": "./lib/index.js",
1313
"require": "./lib/index.js",
1414
"types": "./lib/index.d.ts"
15-
},
16-
"./polyfill": {
17-
"import": "./lib/polyfill.js",
18-
"require": "./lib/polyfill.js"
1915
}
2016
},
2117
"files": [
@@ -56,13 +52,13 @@
5652
"@logto/client": "2.4.0",
5753
"@logto/js": "4.0.0",
5854
"crypto-es": "^2.1.0",
59-
"js-base64": "^3.7.6"
55+
"js-base64": "^3.7.7"
6056
},
6157
"peerDependencies": {
6258
"@react-native-async-storage/async-storage": "^1.23.1",
6359
"expo-crypto": "^13.0.2",
6460
"expo-secure-store": "^13.0.1",
6561
"expo-web-browser": "^13.0.3",
66-
"react-native": ">=0.73.4 <1"
62+
"react-native": ">=0.74.1 <1"
6763
}
6864
}

packages/rn/src/polyfill.ts

Lines changed: 0 additions & 13 deletions
This file was deleted.

packages/rn/src/utils.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import * as Crypto from 'expo-crypto';
2-
import { encode, fromUint8Array, toUint8Array } from 'js-base64';
2+
import { fromUint8Array } from 'js-base64';
33

44
export const generateRandomString = async (byteLength = 64) =>
55
fromUint8Array(await Crypto.getRandomBytesAsync(byteLength), true);
66

77
export const generateCodeChallenge = async (codeVerifier: string): Promise<string> => {
8+
const encodedCodeVerifier = new TextEncoder().encode(codeVerifier);
89
const codeChallenge = new Uint8Array(
9-
await Crypto.digest(Crypto.CryptoDigestAlgorithm.SHA256, toUint8Array(encode(codeVerifier)))
10+
await Crypto.digest(Crypto.CryptoDigestAlgorithm.SHA256, encodedCodeVerifier)
1011
);
1112
return fromUint8Array(codeChallenge, true);
1213
};

0 commit comments

Comments
 (0)