タイトルで全てが説明されているので後は蛇足です。
環境
M1 MacBook Air + macOS Big Sur 11.0.1 + Terminal.app + zsh + デフォルトブラウザはSafari の場合です。いろんなところに罠があるので賞味期限の短い話題ですね。なぜ Terminal.app と Safari かといえば、新しいMacを買うとしばらくはなるべく純正品で生活しようというライフサイクルになっているからです。
gcloud コマンドのバージョンはこんな感じ。
gcloud --version
Google Cloud SDK 319.0.0
bq 2.0.62
core 2020.11.13
gsutil 4.55
起きていたこと
タイトル通りです。gcloud auth login
とかしたとき、ブラウザで認証を行うとき、最後にタイムアウトしてしまいます。localhost:8085
に接続できないといって怒られるのですが、localhost:8085
はポートは空いてるしリダイレクトも動作していると思われる。なぜ。
回避策
Google Chromeを使う BROWSER
環境変数を設定したらうまくうごく様になった。なぜ。
% BROWSER=open
% gcloud auth login
どうしてもダメな場合はサーバで環境設定するときのように gcloud auth login --no-launch-browser
してブラウザから手動で認証コードを取得するとよさそう。BROWSER環境変数設定するとうまくいく理由はわかってない。面白いですね。たぶんBROWSER環境変数がない場合に gcloud がブラウザを直接開いたりして、その場合にプロセス間通信や別プロセス起動した時の戻り値の取得とか何かそういうアレがあるのだろう、と想像はしています。