IsmaelMartinez / teams-for-linux

Unofficial Microsoft Teams for Linux client
GNU General Public License v3.0
2.93k stars 239 forks source link

Blank screen during login #314

Closed enricojonas closed 4 years ago

enricojonas commented 4 years ago

Since the MS client is not working for me I tried this one but get stuck after providing e-mail address. It is saying "redirecting to your organizations login page" but after this only blank page is shown as per picture... running the SNAP installation, already tried complete removal & re-install. Running on Ubuntu 19.10.

image

IsmaelMartinez commented 4 years ago

Hi,

I will appreciate if you can use the template to provide the information.

also, check previous issues and the know issues page. Specially the blank page section:

https://github.com/IsmaelMartinez/teams-for-linux/blob/develop/KNOWN_ISSUES.md#blank-page

There is plenty of things to check and it could just be a configuration issue within your company network.

hope helps

enricojonas commented 4 years ago

Hi Ismael,

sorry that I did not use the template, for some reason the template text was not populated when I created the bug, otherwise I would have used it of course. I already tried the workarounds, including deleting all stuff and config, re-install but it is still above issue. Maybe it is connected to the issue that I face with MS teams for linux beta client, cannot sign in with MS client either but at least get error message. Could it be connected to two factor authentication that is enabled for my account?

IsmaelMartinez commented 4 years ago

Can you run from command line and share what you see? If your company is using self sign certificate you need to do a bit of config in here (I think still not supported in ms)

enricojonas commented 4 years ago

Hi Ismael, from the command line it looks like this:

xx@xx:~$ teams-for-linux configPath = /home/xx/snap/teams-for-linux/79/.config/teams-for-linux Failed to get the config file, using default values configFile = {} Error org.freedesktop.DBus.Error.Failed: cannot use setting "default-url-scheme-handler": not allowed processArgs [ '/snap/teams-for-linux/79/teams-for-linux' ]

But you have some point. I tried from home with open internet connection and it's working. At office or via VPN I am only ending up in a blank screen... So probably it's some network issue. We have some proxy that requires authentication in between. I can see I get an additional popup when I go via firefox https://teams.microsoft.com/_?whr=domain.com to authenticate me to the proxy - probably that's not working with the MS client or with your version.

IsmaelMartinez commented 4 years ago

Check the other issues. There was info about how to use it ina proxy and/or how to adds the certificates IDs (if using self sign). Hope helps

On Fri, 17 Jan 2020, 06:29 snipe122, notifications@github.com wrote:

Hi Ismael, from the command line it looks like this:

xx@xx:~$ teams-for-linux configPath = /home/xx/snap/teams-for-linux/79/.config/teams-for-linux Failed to get the config file, using default values configFile = {} Error org.freedesktop.DBus.Error.Failed: cannot use setting "default-url-scheme-handler": not allowed processArgs [ '/snap/teams-for-linux/79/teams-for-linux' ]

But you have some point. I tried from home with open internet connection and it's working. At office or via VPN I am only ending up in a blank screen... So probably it's some network issue. We have some proxy that requires authentication in between. I can see I get an additional popup when I go via firefox https://teams.microsoft.com/_?whr=domain.com to authenticate me to the proxy - probably that's not working with the MS client or with your version.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/IsmaelMartinez/teams-for-linux/issues/314?email_source=notifications&email_token=AADJHEACTIWGU3HYPIDURV3Q6FF5TA5CNFSM4KGUM7A2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJGT5KY#issuecomment-575487659, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADJHEAZW7MRJBCL4A5NGHTQ6FF5TANCNFSM4KGUM7AQ .

IsmaelMartinez commented 4 years ago

Hi @snipe122 , check if you can put the proxyServer values using the information in the config REAME

enricojonas commented 4 years ago

Hi @IsmaelMartinez , I think proxy is not a problem since we are using transparent proxy, once I am authenticated all network traffic is allow. teams.microsoft.com open without issues in Firefox and Chrome. I found that we internally using a self signed certificate. I have obtained fingerprints according to the manual. Still I get the same error during launch. I have done the same network trace in Chromium Inkognito window. Actually directly after the same error I get the following network trace in chromium and NTLM authentication pops up. Maybe this is not supported in your application?

image

After entering credentials Chromium continues and loads the teams page...

IsmaelMartinez commented 4 years ago

Hi @snipe122, it's maybe not supported. The NTLM is supported but I am not sure if with self sign certificates. The application, if running from the command line, will tell you if it doesn't like the certificates. (and print the key that you need to add).

Might be worth reaching out to MS if you got a service agreement.

enricojonas commented 4 years ago

Hi @IsmaelMartinez I think the issue and similar are described here:

https://github.com/electron/electron/issues/14264 https://github.com/electron/electron/issues/20752 https://github.com/electron/electron/pull/21571

It seems that this issue might have been fixed in later Electron versions (7.1.7+). I can see in the dependencies that you are using Election 4.2.8. Is there any plan of upgrading to a newer / later release?

IsmaelMartinez commented 4 years ago

Hi @snipe122 , I don't see that been an issue in electron 4. Only says is in electron 7 but Chrome has changed quite a bit since electron 4, so it might just have been introduced then.

Unfortunately, updating the electron version breaks the screensharing functionality, so that is a no go for me. As mention in another post, now that MS offers a supported product, I don't feel like doing big developments for this project.

Saying that, I thinks it might be more related to this https://github.com/electron/electron/issues/17111 Does your proxy server support NTLMv1 or NTLMv2?

if is not the proxy, we might just need to add a wee line (https://www.electronjs.org/docs/api/session#sesallowntlmcredentialsfordomainsdomains) and that is doable (as it it nos a "big" change)

Let me know about the NTLMv1/v2. Hope helps

ghost commented 4 years ago

I often experience this issue and deleting every local flatpak file never helps. The problem resolves itself temporarily from time-to-time but with this much instability the app is unusable for me.

enricojonas commented 4 years ago

@IsmaelMartinez it must be NTLMv2 since it is working fine in latest Chrome and Chrome does not support NTLMv1 anymore... Would it be possible to test this? Thank you

IsmaelMartinez commented 4 years ago

Hi @trialism , can you check if using the rpm or deb packages is more stable? I am not the maintainer for the flatpack nor the snap packages, so can't help much on those ones.

@snipe122, I will see if I can create a branch with a test for you this week. If that works, then I add it to the main project. Apologies but got a pretty busy month.

IsmaelMartinez commented 4 years ago

Hi @snipe122 , can you try https://github.com/IsmaelMartinez/teams-for-linux/releases/tag/v1.0.1 ? If that works I can create a config option that enables it that way. Hope helps.

enricojonas commented 4 years ago

@IsmaelMartinez Hi, I guess you were referring to branch feature/314-add-ntlm-domains . I tried this, but still it's not working. I was able to get rid of the js preload script error by modifying index.js 158 to preload: path.join('file://', __dirname, '..', 'browser', 'index.js'), however this didn't fix the original issue. Honestly I think it's some kind of problem with the redirect that our company is doing. in Chromium I can see in the login request a Status Code: 302 Found with a redirect and the redirect is being executed. However in the Election client that is used by you I cannot see the redirect status code, instead there is no http status code shown at all. I have seen there have been issues with those kind of redirects in electron, so potentially it could be the problem since all the rest looks the same when I compare Chromium and Electron.

Chrome:

image

Electron:

image

IsmaelMartinez commented 4 years ago

Sorry, I will ping you if we manage to update to version 8 of electron. Not sure why is not working in your case. Might be worth trying the deb or rpm package as snap can be blocking you a bit more. Let me know if that helps.apologies again

IsmaelMartinez commented 4 years ago

Also, did you nuke your config folder after moving to 1.0.1?

enricojonas commented 4 years ago

@IsmaelMartinez yes just tried with this also, no difference...

IsmaelMartinez commented 4 years ago

I have removed that branch as it is not a usable solution. Again ,I will ping if the electron 8 move ever happens and/or if I think of another solution. Send a message to MS, they might end up solving your problem (they get paid money and your are their client...). Apologies for not been able to be more useful

enricojonas commented 4 years ago

@IsmaelMartinez I got it to work now. I needed to install chrome and import the certs there - now the authentication dialog pops up. So it was not enough to trust them in the OS cert store, firefox and electron and via the customcacerts option for the client. It works now even with the Microsoft client. I didn't know about the connection to the chrome cert store... Maybe you want to mention this in the certificate read.me page.

Anyway thank you again for your effort and keep on the good work!

IsmaelMartinez commented 4 years ago

didn't know that is needed... probably chrome install them somewhere shared in your system, but never thought that was possible.

Thanks for sharing the solution!