Bug 77360

Summary: Turning off Facebook Platform prevents log in to Facebook chat
Product: Telepathy Reporter: Michael <michael.lutynski>
Component: gabbleAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED MOVED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: martin.klapetek, michael.lutynski
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Michael 2014-04-12 05:40:50 UTC
For the longest time, I could not log into Facebook chat using KDE Telepathy, and could not determine why because it worked perfectly for awhile.

I finally found the problem, but it's not immediately intuitive. 

If you go to this link: 

https://www.facebook.com/settings?tab=applications&section=opt_out&view 

...and click the "Turn Off Platform" button, then Telepathy will *never* connect to Facebook chat. However, if you turn the platform back on, then Telepathy will log in and work as expected. 

If the platform is turned off, according to Facebook: "This means you can't use the Facebook integrations on third party apps or websites. If you want to use these apps and websites with Facebook, turn Platform back on." 

"Turning Platform back on resets related settings (such as your "Apps others use" setting) and allows Facebook to receive information about your use of third party apps and websites." 

I didn't realize that me wanting to limit the way that Facebook connects to other websites would affect Telepathy chat. 

An idea: is it possible that Telepathy could query the Facebook API and see if the user has Platform integration turned on? And pass that back to the UI?

(This bug was first reported on KDE's Telepathy bug tracker: https://bugs.kde.org/show_bug.cgi?id=333224)
Comment 1 Simon McVittie 2014-04-14 10:46:18 UTC
(In reply to comment #0)
> If the platform is turned off, according to Facebook: "This means you can't
> use the Facebook integrations on third party apps or websites. If you want
> to use these apps and websites with Facebook, turn Platform back on." 

We aren't trying to integrate with Facebook as a third-party website, but we[1] *are* trying to integrate with Facebook as a third-party app.

Unfortunately, Facebook does not distinguish between:

* local applications on your computer (like Telepathy, GNOME or KDE), which you can trust as much as you can trust your OS vendor and hardware (i.e. if you can't trust them, then you have already lost your privacy and security)

* webapps on third-party servers, which you can only trust as much as you trust the owner of that server

It would be good if they did, but convincing websites like Facebook and Twitter to acknowledge that local applications *exist* was hard enough, so I'm not holding my breath.

[1] actually GNOME Online Accounts + empathy-auth in GNOME, or whatever KDE uses instead; I don't use KDE myself, but possibly it's something based on libaccounts?

> An idea: is it possible that Telepathy could query the Facebook API and see
> if the user has Platform integration turned on? And pass that back to the UI?

I suspect this may be impossible for privacy reasons: "tell me about this user's privacy preferences" is just the sort of thing that should only be accessible by trusted applications.

However, if you discover otherwise, I'd review patches. If someone wants to work on this, I would suggest concentrating on working out whether it is even possible, and getting the information into the telepathy-gabble process: after that's proved to be possible, we can help to design a way to get it through Telepathy to the UI layer.
Comment 2 Michael 2014-04-19 01:15:40 UTC
(In reply to comment #1)

Okay, that was an informative insight, thank you. 

> [1] actually GNOME Online Accounts + empathy-auth in GNOME, or whatever KDE
> uses instead; I don't use KDE myself, but possibly it's something based on
> libaccounts?

I do not have that kind of knowledge of the inner workings of KDE Telepathy, sorry.
Comment 3 Michael 2014-04-19 01:19:08 UTC
(In reply to comment #1)

> However, if you discover otherwise, I'd review patches. If someone wants to
> work on this, I would suggest concentrating on working out whether it is
> even possible, and getting the information into the telepathy-gabble
> process: after that's proved to be possible, we can help to design a way to
> get it through Telepathy to the UI layer.

Okay, I found the docs for the Facebook chat API here: https://developers.facebook.com/docs/chat/

It even has sample code, but right up front it says, "This document is intended for developers working with the chat features of the Facebook ***Platform***" (my emphasis).
Comment 4 GitLab Migration User 2019-12-03 20:00:06 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-gabble/issues/272.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.