azure-cli icon indicating copy to clipboard operation
azure-cli copied to clipboard

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

Open jiasli opened this issue 2 years ago • 9 comments

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

Upstream issues:

  • https://github.com/microsoft/WSL/issues/8892
  • https://github.com/AzureAD/microsoft-authentication-library-for-python/issues/625

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.

jiasli avatar Nov 20 '23 08:11 jiasli

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

yonzhan avatar Nov 20 '23 08:11 yonzhan

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.

jiasli avatar Dec 01 '23 09:12 jiasli

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

MattMcL4475 avatar Mar 02 '24 22:03 MattMcL4475

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!

RuoyuWang-MS avatar Apr 24 '24 07:04 RuoyuWang-MS

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

jiasli avatar Apr 24 '24 08:04 jiasli

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

RuoyuWang-MS avatar Apr 24 '24 08:04 RuoyuWang-MS

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."

dylanw-oss avatar Jun 01 '24 02:06 dylanw-oss

image

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

BlackRider97 avatar Jun 30 '24 06:06 BlackRider97

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.

jiasli avatar Jul 01 '24 09:07 jiasli