Skip to content

SSO Login with Google is Unsupported #401

@jkuester

Description

@jkuester

Describe the bug
#396 added general support for SSO login in cht-android by allowing URLs containing the proper redirect_uri query param to be opened in the root webview for the app.

Unfortunately, this does not work when using Google as the OIDC Provider (or as a proxied authentication server as is the case when Microsoft Entra is configured to allow guest login via Google accounts). Google refuses to allow authentication for its accounts in Android WebView at all. (Citing security concerns...)

To Reproduce
Steps to reproduce the behavior:

  1. Configure Google as your OIDC provider on your CHT instance:
  2. In your cht-android app, select the "Login with SSO" button from the login screen
  3. See the error page:

Image

Note that if you are using Google as a proxied authentication server (behind a different OIDC Provider), you might experience different behavior. When using Google to authenticate for Microsoft Entra (when Microsoft Entra was configured as the OIDC Provider for the CHT), the Microsoft login page seemed to anticipate that the Google authentication was not allowed in the webview page and instead redirected the user into a devices auth flow. Unfortunately, this flow (on top of being a generally bad user experience) did not successfully complete the login in the cht-android app.

Expected behavior
SSO login with a Google OIDC provider (or proxied Google authentication) should work in cht-android (without using the device auth flow).

Environment

  • Instance: 4.20.0+
  • Android Version: 14
  • App Version: 1.5.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: BugFix something that isn't working as intended

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions