簡體   English   中英

iPhone上的兩因素身份驗證?

[英]Two Factor Authentication on Iphone?

我的 nodeJS 服務器應用程序中有一個 2FA 代碼,它利用 speakeasy 模塊來驗證傳遞的密鑰是否有效。 我在客戶端使用 google Authenticator 應用程序。 我正在使用密鑰 =“A0B0C0D0E0F0A1B1C1D1E1F2”。 這適用於 Android 設備 但是,當我在 Iphone 上嘗試相同的操作時,我會遇到以下問題:

  1. Iphone 上的 Google Authenticator 應用程序不允許我添加秘密“A0B0C0D0E0F0A1B1C1D1E1F2”。 似乎它有一些關於密鑰的本機規則。
  2. 即使我輸入了 Iphone 允許的密鑰,speakeasy.totp 代碼也無法驗證,並且總是返回 FALSE。
  secretKey = "A0B0C0D0E0F0A1B1C1D1E1F2";
  var verified = speakeasy.totp.verify({
    secret: secretKey,
    encoding: 'base32',
    token: userToken
  }); 

if(!verified) {
         // verification failed
    } else {
         // verification ok
    }

如何解決此問題,使其在 Android 和 Iphone 設備上都可以使用?

注意:該應用程序仍在測試區域中。 prod 中的密鑰將存儲在永久存儲/數據庫中。

謝謝。

totp.verify 中使用的秘密是小寫的。 當我將其轉換為大寫時,它開始正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM