diff --git a/modules/expo-bluesky-oauth-client/android/src/main/java/expo/modules/blueskyoauthclient/CryptoUtil.kt b/modules/expo-bluesky-oauth-client/android/src/main/java/expo/modules/blueskyoauthclient/CryptoUtil.kt index eab729a8b8..4a40453a39 100644 --- a/modules/expo-bluesky-oauth-client/android/src/main/java/expo/modules/blueskyoauthclient/CryptoUtil.kt +++ b/modules/expo-bluesky-oauth-client/android/src/main/java/expo/modules/blueskyoauthclient/CryptoUtil.kt @@ -11,7 +11,8 @@ import com.nimbusds.jose.jwk.KeyUse import java.util.UUID class CryptoUtil { - fun digest(data: ByteArray): ByteArray { + fun digest(data: ByteArray, algorithmName: String): ByteArray { + if(algorithmName != "sha256") throw Exception("Unsupported algorithm") val digest = MessageDigest.getInstance("sha256") return digest.digest(data) } diff --git a/modules/expo-bluesky-oauth-client/ios/ExpoBlueskyOAuthClientModule.swift b/modules/expo-bluesky-oauth-client/ios/ExpoBlueskyOAuthClientModule.swift index ee0b4f5ce5..702e56253a 100644 --- a/modules/expo-bluesky-oauth-client/ios/ExpoBlueskyOAuthClientModule.swift +++ b/modules/expo-bluesky-oauth-client/ios/ExpoBlueskyOAuthClientModule.swift @@ -5,7 +5,11 @@ public class ExpoBlueskyOAuthClientModule: Module { public func definition() -> ModuleDefinition { Name("ExpoBlueskyOAuthClient") - AsyncFunction("digest") { (data: Data, promise: Promise) in + AsyncFunction("digest") { (data: Data, algorithmName: String, promise: Promise) in + if algorithmName != "sha256" { + promise.reject("Error", "Algorithim not supported") + return + } promise.resolve(CryptoUtil.digest(data: data)) } diff --git a/modules/expo-bluesky-oauth-client/src/react-native-crypto-implementation.ts b/modules/expo-bluesky-oauth-client/src/react-native-crypto-implementation.ts index 26f58dc7b2..1de6d7e6b5 100644 --- a/modules/expo-bluesky-oauth-client/src/react-native-crypto-implementation.ts +++ b/modules/expo-bluesky-oauth-client/src/react-native-crypto-implementation.ts @@ -18,6 +18,7 @@ export class ReactNativeCryptoImplementation implements CryptoImplementation { bytes: Uint8Array, algorithm: DigestAlgorithm, ): Promise { + console.log(algorithm) return OauthClientReactNative.digest(bytes, algorithm.name) } }