Conversation
@ScharfViktor offered to try this out. |
Checklist
|
|
@ScharfViktor thank you for testing. |
|
@ScharfViktor Do you have the client log file for this one?
CC @Svanvith in case you changed something or know something |
|
Interestingly it works for me, I get a new token today. It doesn't ask me to re-login. I will delete account and check. |
Wait a sec, on that server I didn't use the alan account but another one. So maybe that's why I did not see same behaviour as you. I'll add new account alan. EDIT: I can login with account alan no problem. Will try timeouting it. @ScharfViktor How do you recover from this error in the web view? |
|
log: |
I asked, nothing was changed |
|
@ScharfViktor I think I need to reproduce it myself. Or you give me the fuller log, because my log has things like this which your "grep opencloud" filters out |
|
Bug description:
Here is bug - wrong
no successful login -> redirect to app with setting server address |
5b65332 to
168ffb7
Compare
To solve many of the issues our users have with getting OpenCloud to work with different IDPs we came up with a more generic way for how clients should discover their OIDC setttings (issuer, client_id and scopes). This is described here: https://github.com/opencloud-eu/opencloud/blob/main/docs/adr/0003-oidc-client-config-discovery.md This is for #96
When Android kills the app process while the user is in the browser for OAuth login, the OAuth redirect creates a fresh LoginActivity with no ViewModel state. This caused a MalformedURLException because the token endpoint URL was built from an empty serverBaseUrl. Unlike activity death (where onSaveInstanceState Bundle survives), process death requires SharedPreferences to persist state across the browser redirect. The existing commit feba750 saved PKCE state to SharedPreferences but missed serverBaseUrl. Fix by: - Saving serverBaseUrl and oidcSupported to SharedPreferences alongside the existing PKCE state - On OAuth redirect after process death, re-running OIDC discovery (getServerInfo) to repopulate the ViewModel before processing the authorization code - Always launching FileDisplayActivity after successful account discovery, so the user lands in the app instead of Chrome coming back to foreground (cherry picked from commit a7b0863)
This is to show a nice username "username" instead of "long-uuid@server" in the web form.
532d763 to
8a0d4b1
Compare
Tested. works fine. I can re-login. Thank you 👍 |






To solve many of the issues our users have with getting OpenCloud to work with different IDPs we came up with a more generic way for how clients should discover their OIDC setttings (issuer, client_id and scopes).
This is described here:
https://github.com/opencloud-eu/opencloud/blob/main/docs/adr/0003-oidc-client-config-discovery.md
This is for #96
I will create a test build and link it here in the comments...
Thank you @Svanvith for test server