microg / microg/GmsCore

SSO Via Google, Facebook, Apple, Amazon, Microsoft, Etc. Not Working In Third-Party Apps/Outside of GApps (e.g. Gmail, Google Drive, YouTube, etc)

Open
#1,882 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Java
Stars
14.6k
Forks
3.2k
Avg merge
12d 11h
Merged PRs (30d)
4

Description

Describe the bug

When attempting to log-in on the login page of various non-Google apps such as Doordash, Skype, Twitter, etc. using the "Login with Google", "Login with Facebook", "Login with Apple", etc. buttons, various errors occur.

  1. The Google login page does not pop up when the "Login with Google" button is clicked, leaving you unable to login via your Google account.

  2. The Facebook login page requests that the Facebook app be installed since logging in via an embedded browser is now depreciated. After installing the Facebook app and attempting Facebook SSO in another app, logging in with the right credentials returns the error: "You Can't Use This Feature Right Now - We limit how often you can post, comment or do other things in a given amount of time to help protect the community from spam. You can try again later. Learn More" despite the fact that I can login to the Facebook website outside of the emulator on my PC, so it is not an issue on my end.

  3. All other third-party SSO buttons (e.g. Amazon, Microsoft, Apple, etc) successfully forward you to their respective login forms and allow you to submit your login information, but after your information is submitted, it forwards you to a error page with the an FRR_UNKNOWN_URL_SCHEME message. For example, when trying to login to GrubHub using Amazon SSO and submitting your Amazon login information, you are forwarded to an error page with the message: "Webpage not available - The webpage at amzon:://com.grubhub.android?code=[redacted]&scope=[redacted] could not be loaded because: net::FRR_UNKNOWN_URL_SCHEME".

Logging in via the "Login with Google" button or just using the regular Google account login page on GApps such as Gmail, YouTube, or Google Drive works successfully and the apps themselves work perfectly as intended. It's only outside of GApps that SSO doesn't work. Logging into my Google Account within the MicroG app works, but it does not allow me to login to non-GApps using said Google account.

To Reproduce

Steps to reproduce the behavior:

  1. Install any non-Google app/GApp that has Single Sign-On (SSO) as an option on its authentication page such as Twitter, Doordash, Skype, etc.

  2. Click the 'Login with Google', "Login with Amazon', or whichever service you prefer button

  3. Login using your credentials for your chosen service (if the authentication page/form even appears at all).

  4. See error

Expected behavior

After clicking on the SSO button for a third-party site such as Google, Facebook, Amazon, or Apple, for the authentication form for said services to appear and after submitting your login credentials, for you to be successfully logged into the original app you were signing in via SSO for.

Screenshots

Here is a screenshot of the error you receive when logging in using Facebook SSO by installing the native Android app:

Facebook Login Error Despite MicroG and User Build Target

System

Android Version: 12
Custom ROM: LineageOS 19.1 for MicroG

Additional context

Perhaps important: Running LOS19.1 for MicroG on the Android Goldfish emulator that comes with AOSP built for the x86 architecture. MicroG was installed by including it in the manifest file and compiling it at build time. All apps tested were compiled for the x86 architecture as well.

Contributor guide

No contributing guide indexed for this repository

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

No source files, tests, or entry points are identified. Start by reproducing the Google, Facebook, and other third-party SSO flows on Android 12 with the described MicroG build, then trace the failing redirect behavior; done means third-party authentication returns to the original app successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
authentication, mobile
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.