【Ghost】別端末からログインしようとした時に詰まった話

セルフホストでGhostでブログを運用していて別端末からログインしようとしたらずっとグルグルして入れない現象になってしまってました。
最初に初期設定した端末ではCookieを持っているためログイン画面を飛ばしてログインが可能だったのでその端末でしか入れませんでした。
原因
原因は2段階認証があったこと、、
メールアドレスとパスワードを入力後にそのメールアドレス宛に6桁の数字が送られてくる、それを画面遷移後のページに入力が必要になるが、セルフホストしていてメール設定をしていないとグルグルして進まなくなってしまう、、
自分はGhostのメール設定に自身のGmailを利用してメールを飛ばすようにしている。
事前準備
先ずは、Gmailのアプリパスワードを発行します。
Ghost側の設定
その後にGhostの以外ファイルのmailの箇所を編集
「config.production.json」ファイル編集
{
"mail": {
"transport": "SMTP",
"options": {
"service": "Gmail",
"auth": {
"user": "あなたの@gmail.com",
"pass": "アプリパスワード"
}
}
}
}
編集後ログイン確認
編集して保存後にGhostのサービスを再起動してブラウザから管理者でのログインを試してみてください。
自分のメールアドレスから認証用のメールが届きます。
DockerでGhostを動作させていてメールが届かない場合は「config.production.json」ファイルを永続化してない or できていない可能性があります。
これで解決するはずです。今度もう少し詳しく書ければと思います。
一度、他の端末でログイン成功してしまえばその端末にはCookieが残るのでログイン画面なしで管理者画面に入れます。
追記
公式のアップデート履歴にデバイス認証とメールベースでの2 要素認証 (2FA)の機能が追加されたとの情報が記載されていました。
Ghostサイトでは自動的に有効となっているそうです。
