react-native - 如何实现反应原生 otp 检索器并为应用程序生成哈希键
问题描述
React Native 初学者
我正在尝试OTP
使用react-native-sms-retriever
我在项目中实现以下示例自动验证
实现的示例此示例不是获取哈希键的方法。您必须通过执行命令手动获取它
当我执行命令时,它不会要求输入密码。它应该问,因为它是
我已经使用在“java/bin”文件夹中执行的波纹管命令生成了调试哈希键。但它不是
keytool -exportcert -alias androiddebugkey -keystore '~\.android\debug.keystore' | xxd -p | tr -d "[:space:]" | echo -n com.opick.app cat | sha256sum | tr -d "[:space:]-" | xxd -r -p | base64 | cut -c1-11
如何为发布版本生成哈希键尝试以下返回错误的键
keytool -exportcert -alias my-key-alias -keystore my-key.keystore | xxd -p | tr -d "[:space:]" | echo -n com.opick.app `cat` | sha256sum | tr -d "[:space:]-" | xxd -r -p | base64 | cut -c1-11
我已经阅读了他们说你需要在上面的命令中添加path
的文件。对release keystore
我来说我不工作请更新
主要挑战是生成的密钥在cmd
和bash
解决方案
我已经尝试了两个三个示例,但我无法获得hash key
forrelease
广告debug
然后我尝试了以下解决方案它工作得很好。您也可以使用此代码获取hash key
并继续您的实施
以下代码将为您提供发布和调试 apk 的哈希密钥,只需获取密钥并将其复制到某处以供使用
import RNOtpVerify from 'react-native-otp-verify';
getHash = () =>
RNOtpVerify.getHash()
.then(console.log)
.catch(console.log);
startListeningForOtp = () =>
RNOtpVerify.getOtp()
.then(p => RNOtpVerify.addListener(this.otpHandler))
.catch(p => console.log(p));
otpHandler = (message: string) => {
const otp = /(\d{4})/g.exec(message)[1];
this.setState({ otp });
RNOtpVerify.removeListener();
Keyboard.dismiss();
}
componentWillUnmount() {
RNOtpVerify.removeListener();
}
推荐阅读
- javascript - 如何在 Firebase-ui web 中显示 SignInFailure 错误消息?
- python - Python pyqt5 重置所有小部件输入
- c++ - 是否有来自任何容器的 stl 迭代器的多态包装器?
- excel - Bloomberg excel 插件 BDH
- github - GitHub Actions 作业序列
- python - SQLAlchemy中连接表列的多个条件
- excel - 如何提取和保存多幅图像的 LBP 特征?
- sql - PostgreSQL:如何让我的函数返回我插入的新行的 id?
- reactjs - Nextjs css闪烁
- amazon-web-services - AWS SQS FIFO 无法接收所有消息