Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Handle OIDC login by email and by OIDC #98

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

Ldoppea
Copy link
Member

@Ldoppea Ldoppea commented Jun 17, 2024

No description provided.

We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-mobile we won't add this for now as it
would require more work that we did not prioritize yet (we may want to
wait for future Bitwarden's announced technology switch)

This commit prevents from creating a `Profile` cipher

Related PR: cozy/cozy-keys-browser#169
We want to remove the concept of `Profiles` as they overlap with Cozy's
`Contacts`

In cozy-keys-browser we will add the concept of `Contacts` to replace
old profiles, but in cozy-pass-mobile we won't add this for now as it
would require more work that we did not prioritize yet (we may want to
wait for future Bitwarden's announced technology switch)

This commit prevents from editing and restoring `Profile` ciphers

Related PR: cozy/cozy-keys-browser#169
@Ldoppea Ldoppea force-pushed the feat/handle_oidc_login branch 3 times, most recently from ebfbf50 to da5a547 Compare June 18, 2024 07:43
In #86 we reworked the Login process by displaying the Cloudery

By doing so we introduced a regression that prevented OIDC user to
login

When entering their FQDN, the Cloudery would redirect to the OIDC
portal in the InAppBrowser instead of sending the FQDN to the CozyPass
Mobile app (CozyPass login doesn't use the OIDC process)

This fix adds the new `app_will_ask_password` parameter that tells the
Cloudery to skip the OIDC process. This parameter was introduced in the
MR `#437` on the cloudery project

Related PR: #86
Since #86 we support the Login by Email scenario

Unfortunately we supported Login by Email only for non OIDC users. For
OIDC users, the received email would not contain the correct info to
open the Cozy Pass app with the configured FQDN

To support this we want to add the `universallink_for_email` parameter
to the Cloudery URL

By doing so, the login process behavior would be closer to the Flagship
app one

With this parameter, the received email is now an universal link
containing a fallback to the Couldery's manager

This universal links also contain the FQDN if the Cozy exists, so we
can use it in order to fill the Login form

If the universal links does not contain any FQDN, then this means that
the Cozy does not exist and so we want to redirect to the Onboarding
screen instead

This behavior is based on the MR `#440` on the Cloudery project

Before this MR, we needed to open the Cloudery's manager URL into an
InAppBrowser in order to retrieve the FQDN, so this commit also
implements this behavior (although it would works only for non OIDC
users)

Related PR: #86
Since April 29, 2024, iOS apps must be built with the iOS 17 SDK or
later in order to be uploaded to App Store Connect

To enable iOS 17 SDK we must use XCode 15 that is linked to MacOS 13
and 14

So we want to run the Github Action in `macos-14` in order to have the
correct environment

Unfortunately the `macos-14` runner doesn't include Xamarin tools
anymore, so now we have to install them manually (that will increase
the CI built time by a few minutes)

Related articles:
- https://xcodereleases.com/
- https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant