nextcloud / nextcloud/ios

Connecting through zero trust access proxies

Open
#1,565 13 comments 28 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
2.5k
Forks
1k
Avg merge
2d 18h
Merged PRs (30d)
13

Description

Steps to reproduce
  1. Place Nextcloud server address behind zero trust access proxy like Cloudflare Access, Pomerium, etc.
  2. Attempt to setup account in iOS app; enter serve address normally, e.g., https://my.nextcloud.org
Expected behaviour

The iOS app shows the web-based authentication page for the access proxy, and after passing through that access proxy, it caches the authentication tokens, and the Nextcloud authentication pops up (or does not if it's configured for SSO). By caching the authentication tokens, normal usage of the app is allowed until they expire. When they expire, the app throws up the access proxy authentication page to refresh the access tokens.

Actual behaviour

After entering the server address and tapping log in, the iOS app produces this error "Connection error 200: Transfer stopped."

Reasoning or why should it be changed/implemented?

This makes a zero trust configuration impossible if wanting to allow usage of the iOS app by the server's users. This will be increasingly important for enterprise users.

Environment data

Nextcloud iOS app version: 3.3.1.1

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

No files or tests are named. Reproduce the account setup with a Nextcloud server behind Cloudflare Access or Pomerium, then trace the iOS login flow from server-address entry. Done means the proxy authentication page appears, authentication tokens are retained for normal use, and expired tokens can be refreshed through the proxy.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, swift
Domain
authentication, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.