Twitterなどの二要素認証では、二要素認証用のアプリで生成した認証コードを使う。 認証コードをどのように生成しているのか、Twitterとは無関係のアプリで生成した認証コードが利用できるのか、クラウドで同期できるのかが疑問だったので実装した。 🔍調査 なにから調べていいか分からなかったので、普段使っているAuthyのサイトを見ていたら、二要素認証の種類について説明しているページがあった。 Authy features これによると「TOTP(Time-based One-Time Password)」という方式らしい。 あの6桁の数字はワンタイムパスワードなのかと気づいた。 📕 TOTPアルゴリズム TOTPというキーワードをもとに検索すると、RFCまで辿りつく。 Time-based One-time Password algorithm - WIkipedia RFC 6238