Azure / azure-cli

Azure Command-Line Interface
MIT License
3.91k stars 2.88k forks source link

`az login` cannot open web browser on WSL2 + Ubuntu 22.04 #27879

Open jiasli opened 7 months ago

jiasli commented 7 months ago

Describe the bug az login cannot open web browser on WSL2 + Ubuntu 22.04.

Upstream issues:

To Reproduce

With xdg-utils installed:

$ sudo apt install xdg-utils
$ az login
A web browser has been opened at https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with `az login --use-device-code`.
/usr/bin/xdg-open: 882: x-www-browser: not found
/usr/bin/xdg-open: 882: firefox: not found
/usr/bin/xdg-open: 882: iceweasel: not found
/usr/bin/xdg-open: 882: seamonkey: not found
/usr/bin/xdg-open: 882: mozilla: not found
/usr/bin/xdg-open: 882: epiphany: not found
/usr/bin/xdg-open: 882: konqueror: not found
/usr/bin/xdg-open: 882: chromium: not found
/usr/bin/xdg-open: 882: chromium-browser: not found
/usr/bin/xdg-open: 882: google-chrome: not found
/usr/bin/xdg-open: 882: www-browser: not found
/usr/bin/xdg-open: 882: links2: not found
/usr/bin/xdg-open: 882: elinks: not found
/usr/bin/xdg-open: 882: links: not found
/usr/bin/xdg-open: 882: lynx: not found
/usr/bin/xdg-open: 882: w3m: not found
xdg-open: no method available for opening 'https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&...'

Without xdg-utils installed:

$ sudo apt remove xdg-utils
$ az login
A web browser has been opened at https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with `az login --use-device-code`.
gio: https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46&...: Operation not supported

Additional context Windows Terminal supports Ctrl+Click to open hyperlinks, so the user can Ctrl+Click the URL shown in the error to open the web browser and the rest steps work as usual.

Some workarounds are provided in https://github.com/microsoft/WSL/issues/8892 such as installing wslu.

yonzhan commented 7 months ago

Thank you for opening this issue, we will look into it.

jiasli commented 7 months ago

Workaround

Windows Terminal supports Ctrl+Click to open URLs, so the easiest workaround is to Ctrl+Click the URL shown in the error to open the web browser.

image

If you are not using Windows Terminal, you may manually copy the URL into a web browser to open it.

MattMcL4475 commented 4 months ago

I have the same issue. @yonzhan any ideas on how to fix or the root cause? Windows 11, wsl2, Ubuntu 22.04.3 LTS

RuoyuWang-MS commented 2 months ago

Same issue using the latest DevBox env. I think the devbox envs setup recently all share the config Win11 WSL2 Ubuntu 22.04.4 LTS as default. So the many developers using devbox may encounter this issue. Do we have any plan fix for this issue? @jiasli @yonzhan Thanks in advance!

jiasli commented 2 months ago

This is not an Azure CLI issue. It is recommended to report to https://github.com/microsoft/WSL/issues/8892.

RuoyuWang-MS commented 2 months ago

This is not an Azure CLI issue. It is recommended to report to microsoft/WSL#8892.

Thanks! Can be solved by these steps https://github.com/microsoft/WSL/issues/8892#issuecomment-1772972570

dylanw-oss commented 1 month ago

Workaround

Windows Terminal supports Ctrl+Click to open URLs, so the easiest workaround is to Ctrl+Click the URL shown in the error to open the web browser.

image

If you are not using Windows Terminal, you may manually copy the URL into a web browser to open it.

Thanks @jiasli, this workaround "manually copy the URL to web browser" works for me! I'm using WSL and ctrl+click the link can open browser but got "Sorry, but we’re having trouble signing you in. AADSTS90023: Unsupported 'prompt' value."

BlackRider97 commented 3 days ago
image

Remove the : after select_account from URL while opening in your browser.

jiasli commented 2 days ago

I'm using WSL and ctrl+click the link can open browser but got "Sorry, but we’re having trouble signing you in. AADSTS90023: Unsupported 'prompt' value."

Remove the : after select_account from URL while opening in your browser.

This is caused by a recent Windows Terminal bug https://github.com/microsoft/terminal/issues/17495.