StanfordSpezi / SpeziAccount

The Spezi Account module to enable login and signup functionality
https://swiftpackageindex.com/StanfordSpezi/SpeziAccount/documentation/
MIT License
5 stars 5 forks source link

Support custom data entry views #21

Closed Supereg closed 2 months ago

Supereg commented 1 year ago

Problem

Currently, SpeziAccount provides the SignupForm view to collect all necessary, configured account values from a user to setup a new account. However, Account Services like identity providers might source the essential credential information from a third party (e.g. Sign in with Apple) and need to present an additional view to collect additional personal information that is required or configured to be collected (e.g., date of birth). This API surface is currently not easily accessible from the outside.

Solution

We might want to break down the SignupForm into smaller reusable components and/or define a new view that is specifically built to accommodate for this use case and reduces the effort to implement a new identity provider.

The idea is, that once the user completes authentication with the third party (e.g. Sign in with Apple), we present a sheet view to request additional information (if required). The view might show the data that was already collected through the third party while additionally requesting the necessary additional information.

Additional context

No response

Code of Conduct

Supereg commented 2 months ago

This was resolved back in #28 using the FollowUpInfoSheet.