Sign in with Apple + Face/Touch ID + NodeJS/PassportJS

Hey there,

I'm currently developing an iOS app that communicates to a NodeJS server as a backend. The server uses passport.js as an authentication middleware to allow users to login and authenticate requests to the server. I want to implement "Sign in with Apple" functionality to allow users to sign in with their existing Apple ID and I found a few passport plugins to support this functionality.

My question is, is it possible to integrate Touch/Face ID with this login/authentication flow? The desired outcome I'm looking for is:user presses "Sign in with Apple" button --> iOS app prompts them with Touch/FaceID modal --> on success user account is created if it doesn't exist and/or user is logged in and iOS client receives a token or cookie for subsequent requests (the logic for this would be handled server side via passport)

The closest I've come to the desired outcome is the user presses "Sign in with Apple" button which opens a web view containing the Apple's sign in web page which then prompts them to log in with Touch ID (I do not have a Face ID device handy to test if it works here so if someone could clarify this, then it would be helpful) and on success, the user is redirected to the iOS app via deep linking.

Is there a way to achieve this without using a web view that takes the user out of the main app? The other option I've seen is to set up my own username/password along with JWT and reset tokens and then store those credentials into the keychain to drop the need for a web view redirect, which certainly works, but I would prefer to use Apple's authentication server versus having to handle storing sensitive data on my own.

Thanks in advance for any help!