GitLabサーバ移行後にTwo-factor authentication(二段階認証)が上手くいかない問題の対処
ずっとVagrantのマシンで稼働していたGitLabをクラウドに移行中です。
移行作業自体は、こちらの記事を参考にさせていただき、そりゃあもう完璧に上手くいったのですが(ありがとうございます!)
その後Two-factor authentication(二段階認証)を設定していたユーザでログインしようとすると500番エラーが発生。
色々と調べたのですが、ターミナルから以下のコマンドで一度2段階認証周りをリセットするしかないみたい。
(実行すると全ユーザの2段階認証を解除します)
gitlab-rails console production #コンソール起動。結構待ちます User.update_all(otp_required_for_login: false, encrypted_otp_secret: nil, encrypted_otp_secret_iv: nil, encrypted_otp_secret_salt: nil, otp_backup_codes: nil) exit #コンソール終了
これでOK。
ポイントとして、otp_required_for_login: false だけでも2段階認証の解除自体はできるのですが、上記のように他の鍵周りを一度nilにしてリセットしてあげないと、次回二段階認証を設定しようとした場合に500番エラーが出たり謎のQRが作られたりするので注意が必要です。