nextcloud / nextcloud/Android-SingleSignOn

Question: Drop use of androids build in AccountManager

Open
#49 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
74
Forks
36
Avg merge
1d 19h
Merged PRs (30d)
17

Description

@tobiasKaminsky Just throwing in some thoughts here. As we had a bunch of issues already when trying to figure out which accounts exist, I was thinking about if we can drop the need to use the Android "AccountManager" at all. As of Android 9 getting accounts from another app is even more difficult. Therefore dropping it makes things easier for all involved parties.

Advantages:

  • reauthentication works without the need to request the account permission again (way easier for client apps as we don't need to restart the login flow)
  • Custom dialog for choosing the account (nextcloud design / theme)
  • reduce complexity of account handling (in the sso library)

Disadvantages:

  • None?

So basically what I'm proposing is:

  • Instead of calling the account manager to show us available accounts, we create a new custom activity in the files app for that. (Reference)
  • The files app lists all accounts available (as the files app has the required permission for that)
  • The users selects an account here

This also might be interesting for @desperateCoder @stefan-niedermann

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the referenced AccountImporter.java in the Android-SingleSignOn library and review how AccountManager currently supplies accounts. Then inspect the proposed files-app integration and custom activity flow. Done means the files app can list available accounts and return the user's selection without requiring the client to use AccountManager.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
authentication, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.