Skip to content

Commit 10b876b

Browse files
authored
Merge pull request #513 from dcangulo/cpp-android
feat: reimplement android on cpp
2 parents d77f8af + c4a1203 commit 10b876b

File tree

3 files changed

+16
-5
lines changed

3 files changed

+16
-5
lines changed

android/cpp-adapter.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
extern "C"
55
JNIEXPORT jstring JNICALL
6-
Java_com_pkcechallenge_PkceChallengeModule_nativeGetRandomBase64String(JNIEnv *env, jclass type, jdouble byte_length) {
6+
Java_com_pkcechallenge_PkceChallengeManager_nativeGetRandomBase64String(JNIEnv *env, jclass type, jdouble byte_length) {
77
std::string encoded_data = pkcechallenge::getRandomBase64String(byte_length);
88

99
return env->NewStringUTF(encoded_data.c_str());
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.pkcechallenge
2+
3+
class PkceChallengeManager {
4+
companion object {
5+
init {
6+
System.loadLibrary("react-native-pkce-challenge")
7+
}
8+
9+
@JvmStatic private external fun nativeGetRandomBase64String(byteLength: Double): String
10+
}
11+
12+
fun getRandomBase64String(byteLength: Double): String = nativeGetRandomBase64String(byteLength)
13+
}

android/src/main/java/com/pkcechallenge/PkceChallengeModule.kt

+2-4
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,9 @@ class PkceChallengeModule(reactContext: ReactApplicationContext) :
1717
// Example method
1818
// See https://reactnative.dev/docs/native-modules-android
1919
override fun getRandomBase64String(byteLength: Double): String {
20-
val bytes = ByteArray(byteLength.toInt())
21-
val secureRandom = SecureRandom()
22-
secureRandom.nextBytes(bytes)
20+
val manager = PkceChallengeManager()
2321

24-
return Base64.encodeToString(bytes, Base64.NO_WRAP)
22+
return manager.getRandomBase64String(byteLength)
2523
}
2624

2725
companion object {

0 commit comments

Comments
 (0)