The new API has been built with the assumption that each client application 
will have access at most to one service per account.
See the last paragraph in
https://docs.google.com/document/d/1inf_HhRPdyERMBlET01baTnoeqeYXn0pUvzlBuE0m0k/edit#heading=h.ug99hyx6imji

Now, this means that the service should never return the same account ID
twice, but you found a case where this is not true. This is probably a
bug, but please read on.

The new API is more limited than the old one, and has been designed to support 
click apps and scopes. For these clients, we expect to be able to identify them 
by their app-id, either by inferring it from their apparmor label or (for 
unconfined processes) by receiving it as an explicit parameter.
Your gdbus invocation doesn't fall in either of these scenarios, because what 
we get is a request from an unconfined process which does not specify an 
"applicationId" parameter.

I believe that if you add such an "applicationId" parameter pointing to
a valid application ID, you will not get any accounts listed twice. If
that's not the case, please let me know.


Now, what is certainly true is that in this specific case the API does not 
behave in a deterministic way. I would suggest that we "morph" the bug about 
having an explicit D-Bus error when an unconfined client makes a request 
without specifying an "applicationId" parameter. WDYT?

** Changed in: online-accounts-api (Ubuntu)
       Status: New => Incomplete

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1602159

Title:
  Manager class only provides access to one (random?) service ID for an
  account

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/online-accounts-api/+bug/1602159/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to