Amazing video, thank you so much ! Do you know how i could set it up so it would pop up automatically when the app starts if the user has logged in before ( some kind of remember me) ?
Absolutely, I actually implemented that once. You probably want to create some kind of PIN page that you see a lot as a fallback, or just use the OS fallback mechanism. And at the start of your app just pop the authentication method. If authentication fails, stop the user from going further. If authentication succeeds, proceed like you normally would.
Gerald, love the videos - keep on making them. However, there is a flaw in plugin.fingerprint. How does one keep a pen testing script like "objection" from hooking into the EvaluatePolicy() to return a true for any biometric read (true or false)? My company has flagged this as a problem and I cannot figure out how secure this.
This video is pretty amazing! I had a follow up question - In case of devices that does not support finger print, I want to authenticate an user in my app using the device pin/ pattern. We were able to do this with the KeyGuardManager earlier which is Obsolete now. would you have any recommendations? I'm looking for Xamarin native apps on all 3 platforms. Thanks in advance!
Really helpfull! needed to add a native servicer to my schoolproject. and have been struggling with the fingerprint scanner, but it works now! thanks a lot!
Hey Gerald, In the latest androdi devices faces recognition and finger print auth comes up together along with that we do have an option to use device pin by default. Is it possible to control "Use Pin" option or disable it? I am using the same library as well
I don’t think it’s possible and you shouldn’t. What if the fingerprint reader breaks? What if, for some reason, your finger isn’t recognized? You’re locked out of the app without any means of recovery. Having the pin as a backup is a good thing
@@jfversluis Thanks Gerald. Yeah makes sense. But I have my own app pin which is maintained at the time of login. So I am trying to bring that app specific pin instead of default device pin which comes up along with Face recognition and Finger Print.
I have samsung and vivo(android) in which both fingerprint and facelock is provided .This is working for fingerprint lock but when I disabled fingerprint and enabled a face lock .Then this is "CrossFingerprint.Current.IsAvailableAsync(false)" return a false for faceid and technology is xamrin.Please help me on this
Thank you for sharing 💗 And i have little question. How to only check Fingerprint? My device has Face - Fingerprint - Irises and i want choose only one.
@@jfversluis When Fingerprint or Face Recognition invalid many time Plugin popup requie password and i choose enter password but it not working, can you help me?
Hey Gerald, Thank you for all of your Videos. Can you please give me some idea here -> I want to implement Biometric Login in my app. My Login page is a web view served from Idp. I have tried Plugin fingerprint as you did in the demo app with the XAML page, which works fine. My question to you is how to invoke device biometric from Webview if I have a button with the text "Log in with Biometric", and what information is the best practice to store in Secure Storage or any other place?
@@jfversluis Yes and thank you again. As I am progressing with my implementation I am finding new interesting things like in Samsung where both fingerprint and face id can be set, the plugin always returns fingerprint when you try to find availability of biometric. Do you have any thoughts on it?
Fortunately not! We don't want data like this to be sent to third parties. The data is kept on the devices and can only be verified against through the APIs on the platform. There is no way to read the actual biometric data.
@@MorningStar.Ghost.Yaldabaoth I would be very careful with that. But in any case, you can’t do it with just iOS or Android devices. You’ll need additional hardware probably that allows you to do that
Hi, will this work for multiple users in the same device? I would like to make a biometric device for my company amnd all my users can put their finger to enter a session. Will that work, or this is reserved only for one device?
This works based on whatever the OS provides. If you can have multiple accounts on the device then you probably can. But for instance on iOS, you can only enroll one person, so I don’t think that will work.
@@jfversluis thanks for the fast response. I only want this to work on Android, but i cant register the fingerprint in thr app right? Needs to be in the system settings, because i can register multiple fingerprints, but i cant set who this fingerprint belongs to... Right? Sorry for all the questions
Good Day Gerald , Since biometric is a form of authentication, can we store the data that is collected by the biometric in the db and use it to authenticate later on ? from the data returned , i can see any data that i can use to store . can you assist on that one ?
You can’t, luckily. Because that would be a big security risk. The biometric data is stored on the device, the only thing this API does is verify if the saved biometric data is the same as the biometric data that is provided by the user. You can’t save the actual data
@@jfversluis thanks for the reply. does this mean that if you have an application that want to authenticate against the data , it can only be data that is used when biometric was setup. So can we setup our own biometric data and store in the db for later authentication ?
You have very good tutorial today I manage to make beautiful application to Xamarin thanks to your tutorials. Regarding this video, is it not possible to recover the image of the fingerprint and do a special treatment with, for example, I am thinking of remote authentication.
Thank you Yannick! Appreciate it! No, you can’t. Which is a good thing because that would be a big security issue :) the fingerprint data stays in the device and is only used there securely
Great Videos and great teacher. Sir, I am building an App Locker can you suggest where to start. So far I'm able to get the UserApps and SystemsApp in a Listview and also I added a toggle button(to that Listview) through which I want to lock the same selected app with PATTERN LOCK. Is It possible. Thanks
Not sure what an App Locker is :) but I think you want to build a page where the user has to insert some kind of pattern, like Android, for the app to unlock?
I think you can’t do it directly as you won’t receive the actual fingerprint/face data. Instead what you probably want to do is remember their login, or even better, auth token, and fill that in/refresh it in the background if the biometric authentication succeeds
It may not be possible to get access to the hardware required for that. A way round it would be to create something like an Authenticator app. Your ASP.Net app will push a notification to your Authenticator app prompting you to scan your fingerprint. Just shooting out of the blue here.😁
@@jmahachi I’m not sure if I follow. The only thing this does is reach into the OS APIs for fingerprint/face data and return if it matches the configured finger/face. If yes; execute any logic you like. If that logic then reaches into secure storage where a auth token or username/password is save and continue the rest of the flow, that is certainly possible. An Authenticator app is similar but different and is more towards two-factor authentication where as just implementing biometric verification is implement an easier way for people to authenticate and not have them enter a password on a tiny keyboard each time
Awesome video bro. I have a question, i want to implement this authentication method to an existing responsive web page via webview so I can generate a mobile app of that page. But im not sure about the proper way to do it because that page has its own login and database logic, any suggetions?.Thanks
So you just want to use the web app for authentication then? I have done something like that but it's not easy. Basically what you want to do is capture the token(s) or cookie(s) from the login and then use that for the rest of your calls in your app.
@@jfversluis thanks for replying!, that´s exactly what I need. I want to use this app to connect to an existing "responsive web site" adapted to mobile just by using the fingerprint so I dont have to create a new application of it because the web site is really huge.
Hi, I need to develop an Android app, wherein I need to authenticate two users on the field by Face ID & Finger print. The authentication should happen with the live server. Users data is updated every morning in the database for the service. So once the user reaches the designated area they need to open the app and confirms their identity so a one time password is issued via the app. Can this be achieved ?
Not sure if I understand correctly but if you want them to authenticate with both Face ID and the fingerprint at the same time and on the server-side... That's not going to happen. The face and fingerprint data never leave the device to enforce security.
I have samsung and vivo(android) in which both fingerprint and facelock is provided .This is working for fingerprint lock but when I disabled fingerprint and enabled a face lock .Then this is "CrossFingerprint.Current.IsAvailableAsync(false)" return a false for faceid and technology is xamrin.Please help me on this
@@jfversluis How could I post question on its repo .In discussion section only organizers are allowed to put comments .Could you please provide me that url where I can put my question
@@jfversluis I have created the issue in its repo but I got no reply. Can you please suggest any alternative with which I will able to have faceloack also in android
@@jfversluis it actually shows me the option to face id I had to disable it in android settings, I was testing it in my Samsung S10+. I deleted my face profile and now only shows me the option to fingerprint
@@pn_slender1408 oh interesting! Didn’t know Android has that now too. I was looking quickly over the plug-in, I don’t think there is a way to specify one or the other since there haven’t been any devices until now who have both :)
@@revtane9 did you get any solution ? I have the same Issue with face recognition in huawei and xiamoni IsAvailableAsync is always false in those phones
If only... No, unfortunately this doesn't make Face ID work with Android. The hardware on the phone and OS has to still support it. This library puts an abstraction layer on top of the authentication APIs and will authenticate through the means that are available on the device. On iOS that means Touch ID or Face ID depending on the device hardware, for Android, as far as I know, there are only fingerprint scanners
Best Xamarin youtuber! You definately deserve a lot more subscribers!! Thanks a lot for all your tutorials❤️
Thank you Stefano!
Your the best Xamarin teacher on youtube!
I don’t know about that haha, but thank you!
@@jfversluis hahahaha. Can you make a video explaining how to code entrys in mvvm? (Username, password...) it will be amaizing
I’m not entirely sure what you mean by: code entries in MVVM? What are you trying to do? :)
@@jfversluis For exemple, the input of username and password: can you make a tutorial how to use them? How to verify if the password is correct etc...
Amazing video, thank you so much !
Do you know how i could set it up so it would pop up automatically when the app starts if the user has logged in before ( some kind of remember me) ?
Absolutely, I actually implemented that once. You probably want to create some kind of PIN page that you see a lot as a fallback, or just use the OS fallback mechanism. And at the start of your app just pop the authentication method. If authentication fails, stop the user from going further. If authentication succeeds, proceed like you normally would.
@@jfversluis Thank you :)
Gerald, love the videos - keep on making them. However, there is a flaw in plugin.fingerprint. How does one keep a pen testing script like "objection" from hooking into the EvaluatePolicy() to return a true for any biometric read (true or false)? My company has flagged this as a problem and I cannot figure out how secure this.
This video is pretty amazing! I had a follow up question - In case of devices that does not support finger print, I want to authenticate an user in my app using the device pin/ pattern. We were able to do this with the KeyGuardManager earlier which is Obsolete now. would you have any recommendations? I'm looking for Xamarin native apps on all 3 platforms. Thanks in advance!
Informative as always. Thank you!
Thank you!
Really helpfull! needed to add a native servicer to my schoolproject. and have been struggling with the fingerprint scanner, but it works now! thanks a lot!
Great to hear! Good luck with your school project!
Hey Gerald, In the latest androdi devices faces recognition and finger print auth comes up together along with that we do have an option to use device pin by default. Is it possible to control "Use Pin" option or disable it? I am using the same library as well
I don’t think it’s possible and you shouldn’t. What if the fingerprint reader breaks? What if, for some reason, your finger isn’t recognized? You’re locked out of the app without any means of recovery. Having the pin as a backup is a good thing
@@jfversluis Thanks Gerald.
Yeah makes sense.
But I have my own app pin which is maintained at the time of login. So I am trying to bring that app specific pin instead of default device pin which comes up along with Face recognition and Finger Print.
I have samsung and vivo(android) in which both fingerprint and facelock is provided .This is working for fingerprint lock but when I disabled fingerprint and enabled a face lock .Then this is "CrossFingerprint.Current.IsAvailableAsync(false)" return a false for faceid and technology is xamrin.Please help me on this
Hi! thank you for your video!! do you know if this nuget is compatible with MAUI? .NET 8 ? thank you!
Have a look at this one: ua-cam.com/video/3vWvrmRAKik/v-deo.html
@@jfversluis Thank you very much for your reply! Really apreciaated!
Simple and amazing explanation and implementation. Thanks and I appreciate your help very much. I'm suscribing to you right now!
Thanks so much Julian!
Thank you for sharing 💗 And i have little question. How to only check Fingerprint? My device has Face - Fingerprint - Irises and i want choose only one.
I don’t think you can force one method over the other. Not with this plug-in at least :)
@@jfversluis Thank for replay.
@@jfversluis When Fingerprint or Face Recognition invalid many time Plugin popup requie password and i choose enter password but it not working, can you help me?
Awesome xamarin tutorial, thanks, what I need is this, thankyou very much
Great! Now go secure those apps!
very clear explanation, great video thanks u 😊
Glad it was helpful! Thank you!
great video ,but i have a question How Integrate ZK4500 Biometric Finger Print Reader for register and store fingerprint data in database? please.
No clue, sorry :) I guess the hardware provider should have some guidance on how to use it
Hey Gerald, Thank you for all of your Videos. Can you please give me some idea here -> I want to implement Biometric Login in my app. My Login page is a web view served from Idp. I have tried Plugin fingerprint as you did in the demo app with the XAML page, which works fine. My question to you is how to invoke device biometric from Webview if I have a button with the text "Log in with Biometric", and what information is the best practice to store in Secure Storage or any other place?
I think you mentioned under the other video that I already answered some of your questions there. Glad you figured it out!
@@jfversluis Yes and thank you again. As I am progressing with my implementation I am finding new interesting things like in Samsung where both fingerprint and face id can be set, the plugin always returns fingerprint when you try to find availability of biometric. Do you have any thoughts on it?
Brilliant tutorial, thank you for sharing 💗
Thank you for taking the time to let me know!
Great video! is it possible to design FingerPrint Enrollment with Xamarin:capture fingerprint and faceid, save to remote database?
Fortunately not! We don't want data like this to be sent to third parties. The data is kept on the devices and can only be verified against through the APIs on the platform. There is no way to read the actual biometric data.
@@jfversluisthanks for the reply but I have a Task to design app to collect fingerprints data n post to a server for storage
@@MorningStar.Ghost.Yaldabaoth I would be very careful with that. But in any case, you can’t do it with just iOS or Android devices. You’ll need additional hardware probably that allows you to do that
@@jfversluis yes, a fingerprint scanner attached to the Android device. Hoping to get Sdk to make this work
Hi @Gerald Is there a way to achieve the fall back mechanism for Android platform.
I think it should do that automatically?
@@jfversluis on multiple failed attempts the fall back mechanism works for iOS but not Android.
OH Yheah works very well you're awsome guy !!
Haha thank you!
Thanks for preparing and sharing this video tutorial.
You’re very welcome Ferad! Thanks for watching!
Hi, will this work for multiple users in the same device? I would like to make a biometric device for my company amnd all my users can put their finger to enter a session. Will that work, or this is reserved only for one device?
This works based on whatever the OS provides. If you can have multiple accounts on the device then you probably can. But for instance on iOS, you can only enroll one person, so I don’t think that will work.
@@jfversluis thanks for the fast response. I only want this to work on Android, but i cant register the fingerprint in thr app right? Needs to be in the system settings, because i can register multiple fingerprints, but i cant set who this fingerprint belongs to... Right? Sorry for all the questions
Good Day Gerald , Since biometric is a form of authentication, can we store the data that is collected by the biometric in the db and use it to authenticate later on ? from the data returned , i can see any data that i can use to store . can you assist on that one ?
You can’t, luckily. Because that would be a big security risk. The biometric data is stored on the device, the only thing this API does is verify if the saved biometric data is the same as the biometric data that is provided by the user. You can’t save the actual data
@@jfversluis thanks for the reply. does this mean that if you have an application that want to authenticate against the data , it can only be data that is used when biometric was setup. So can we setup our own biometric data and store in the db for later authentication ?
@@Vuyiswamb no, you can only authenticate users that are enrolled on that device through the OS
@@jfversluis Noted. i get you now.
You have very good tutorial today I manage to make beautiful application to Xamarin thanks to your tutorials.
Regarding this video, is it not possible to recover the image of the fingerprint and do a special treatment with, for example, I am thinking of remote authentication.
Thank you Yannick! Appreciate it!
No, you can’t. Which is a good thing because that would be a big security issue :) the fingerprint data stays in the device and is only used there securely
@@jfversluis Ok so I see there is no possibility of recovering the image (not the model) of the fingerprint of the phone.
@@yannicknfankou7739 correct
@@jfversluis ok
Brilliant....❤❤❤❤❤❤❤❤
Thank you!
Great Videos and great teacher. Sir, I am building an App Locker can you suggest where to start. So far I'm able to get the UserApps and SystemsApp in a Listview and also I added a toggle button(to that Listview) through which I want to lock the same selected app with PATTERN LOCK. Is It possible.
Thanks
Not sure what an App Locker is :) but I think you want to build a page where the user has to insert some kind of pattern, like Android, for the app to unlock?
Great video,
How to link the face or fingerprint to my asp.net identity users ?
I think you can’t do it directly as you won’t receive the actual fingerprint/face data. Instead what you probably want to do is remember their login, or even better, auth token, and fill that in/refresh it in the background if the biometric authentication succeeds
It may not be possible to get access to the hardware required for that.
A way round it would be to create something like an Authenticator app. Your ASP.Net app will push a notification to your Authenticator app prompting you to scan your fingerprint. Just shooting out of the blue here.😁
@@jmahachi I’m not sure if I follow. The only thing this does is reach into the OS APIs for fingerprint/face data and return if it matches the configured finger/face. If yes; execute any logic you like. If that logic then reaches into secure storage where a auth token or username/password is save and continue the rest of the flow, that is certainly possible.
An Authenticator app is similar but different and is more towards two-factor authentication where as just implementing biometric verification is implement an easier way for people to authenticate and not have them enter a password on a tiny keyboard each time
Is it possible to scan a fingerprint using my mobile phone sensor and store that data in a database?
That is not possible. You don’t have access to the fingerprint data
@@jfversluis I have ZKFinger SDK_Android in java. how I can convert it to Xamarin forms ? please do you have any idea
Brilliant tutorial
Thanks so much!
Awesome video bro. I have a question, i want to implement this authentication method to an existing responsive web page via webview so I can generate a mobile app of that page. But im not sure about the proper way to do it because that page has its own login and database logic, any suggetions?.Thanks
So you just want to use the web app for authentication then? I have done something like that but it's not easy. Basically what you want to do is capture the token(s) or cookie(s) from the login and then use that for the rest of your calls in your app.
@@jfversluis thanks for replying!, that´s exactly what I need. I want to use this app to connect to an existing "responsive web site" adapted to mobile just by using the fingerprint so I dont have to create a new application of it because the web site is really huge.
@@luismolina6613 how it ended up? does your solution work? I have the same need for a customer
@@damianomeneghetti6858 hey bud im still trying to figure it out, I've been busy with other stuff, do you have any clue about what to do haha?
Hope no one notices that the hand scanner is the wrong way around... 😩
😂😂😂
How can I set the cancel event to do something when the fingerprint authenticator appears?
Have a look at the CancellationToken parameter when you show the authentication. Should be able to do it with that
@@jfversluis I did it with the ErrorMessage because when cancel is pressed it returns a string
Great! It is working really well.
Glad it was helpful!
Hi, I need to develop an Android app, wherein I need to authenticate two users on the field by Face ID & Finger print. The authentication should happen with the live server. Users data is updated every morning in the database for the service. So once the user reaches the designated area they need to open the app and confirms their identity so a one time password is issued via the app. Can this be achieved ?
Not sure if I understand correctly but if you want them to authenticate with both Face ID and the fingerprint at the same time and on the server-side... That's not going to happen. The face and fingerprint data never leave the device to enforce security.
Wow Thanks for Sharing!
No problem at all! Glad you liked it!
Great video. Thank you!
Great! Glad you enjoyed it! Thanks!
I have samsung and vivo(android) in which both fingerprint and facelock is provided .This is working for fingerprint lock but when I disabled fingerprint and enabled a face lock .Then this is "CrossFingerprint.Current.IsAvailableAsync(false)" return a false for faceid and technology is xamrin.Please help me on this
Sounds like you should open an issue on the plug-in repository :)
@@jfversluis How could I post question on its repo .In discussion section only organizers are allowed to put comments .Could you please provide me that url where I can put my question
github.com/smstuebe/xamarin-fingerprint/issues
@@jfversluis I have created the issue in its repo but I got no reply. Can you please suggest any alternative with which I will able to have faceloack also in android
how would you disable faceId option in android?
Will happen automatically since
It’s not available on Android
@@jfversluis it actually shows me the option to face id I had to disable it in android settings, I was testing it in my Samsung S10+. I deleted my face profile and now only shows me the option to fingerprint
@@pn_slender1408 oh interesting! Didn’t know Android has that now too. I was looking quickly over the plug-in, I don’t think there is a way to specify one or the other since there haven’t been any devices until now who have both :)
Your amazing. Thank you
Well you’re not too bad yourself! 😄 thank you!
HELP: The fallback input password when face id fails is not working i have set it as .IsAvailableAsync(true)
Find the Discord server under this video, there's people that can maybe have a look over your shoulder: ua-cam.com/video/ohRDUzh2Y6M/v-deo.html
@@jfversluis Thanks
@@revtane9 did you get any solution ? I have the same Issue with face recognition in huawei and xiamoni IsAvailableAsync is always false in those phones
this plugin working with MAUI or not?
There is a preview out that works with .NET MAUI
@@jfversluis thanks
👍👍👍Nuclear Like... to your video ...
Woohoo! Thank you! Massive likes back!
Thank you~~
My pleasure!
Face ID will work for android ?
If only... No, unfortunately this doesn't make Face ID work with Android. The hardware on the phone and OS has to still support it. This library puts an abstraction layer on top of the authentication APIs and will authenticate through the means that are available on the device. On iOS that means Touch ID or Face ID depending on the device hardware, for Android, as far as I know, there are only fingerprint scanners
Muito bom esse vídeo....
Had to use some Google translate... but obrigada!