React Native Password TextInput - Store credentials in iOS - ios

I have 2 TextInputs in a LoginScreen, one configured for email as username and the other configured for password. When I log in in Android, Android ask me if I want to store credentials, but iOS does not. How do I have to configure it so iOS asks as well? The way it is configured right now, iOS allow me to populate both fields with data from keychain if I select the right option in keyboard.

Related

How to provide an option to save username and password to iCloud Keychain on iOS in NativeScript Angular?

I am working on a NativeScript iOS app. The app has a login page which requires users to login before they can use the app. I just wanted to add more convenience for the users to not have to type in the username and password everytime. So, I added the nativescript-fingerprint-auth plugin to enable touch/face id, which is working fine.
Now, I also wanted the app to provide an option to save the password to Keychain on the initial login and provide an option to autofill the password in the next login. Much like shown in the screenshot. So any kind of information regarding this would be helpful.
Thank you in advance!
img source

Cordova iOS FingerPrint Authentication : Sending User Credentials to Server

I understand how to use the iOS fingerprint authentication mechanism, but I am doubtful about where and how to store the user credentials. Once the fingerprint is authenticated, I need to send the user details to the server. Since the user did not type it in anywhere, I assume I will have to store it when the user types it in the first time. Where do I store these credentials securely? Is iOS KeyChain the solution for this?
Here is how i implemented touch id for my app.
1. check if fingerprint is enabled : user credentials is stored in keychain
2. if fingerprint is enabled, prompt for fingerprint touch
3. else show login screen
4. if user checks "enable fingerprint" checkbox and logs in, store username and password in keychain
5. else login as normal
I used the following plugin :
https://github.com/sjhoeksma/cordova-plugin-keychain-touch-id

Password AutoFill for iOS App

In iOS 11 they have introduced password autofill which fills the username and password in iOS app like the same way it does in Safari, User goes to website first, logged in save the username and password in keychain and then open app were the fields are automatically populated, the username and password
can it be implemented in other ways, like I logged in the app first and then while going on the website through Safari it automatically fills the username and password?
Is there any documentation or articles regarding it?
Editing My Answer:
Looks like it is possible to do so. The same kind of association we can see in SharedWebCredentials which is released in iOS8. Using SharedWebCredentials doing in both ways is possible. From app to website and website to app. Assuming Password autofill in iOS11 has done on top of this.
Here is how the association will happen.
We have entitlement certificate for an app where we will provide domain to be linked with. Then we have a website where we will hold information in JSON format related to that website. In that JSON, you have to put your bundle identifier. So when the user saves this passwords and logs in through app. Then the app entitlement file will provide the web address to safari. Safari will bring that JSON file and validate the bundle identifier is same or not. If validation success it will populate username and password.
For more info: Password Autofill in iOS 11
I asked about this at the developer labs at WWDC and was informed that it's possible. The key is that the new password autofill is based on the existing Shared Web Credentials API, which works both ways. If you use that API to save credentials from your app, they'll be available in Mobile Safari. Shared Web Credentials was the topic of a 2014 WWDC session.
I haven't tried it yet, but based on the source I'm pretty confident that it should work.

saving password for springboard webapps

I'm creating an html application using form authentication. If I open this application using Safari on iOS and complete the login screen, iOS asks me if I want to save my credentials.
but it doesn't work the same way if I add this webapp as a link on the springboard. In that case, iOS doesn't ask me to save my credentials.
Is there a way to force iOS to show me the possibility to save my credentials ?

Save wifi auth preferences in ios

I want to save authentication of my hotspot in my user preferences. Ex: I sign into my wifi using an app with my username and password, then unblock my network, so next time I'm go in this LAN, it should use the credentials I've put in app. So app has to save the wifi auth in user profile. I'm using NSUserDefaults to store my user and keychain for password. Is this the correct way?
As far as I know, there isn't a way for the app to directly setup an access point in the iOS system; I can not see a reason to save wifi authentication credentials in your app if the system will do this already (probably in a more secure manner)? If you simply save this in your user's preferences, then you will get into security issues if you want to change this password later.
However, yes you can distribute a provisioning profile which contains the credentials to your access point so that the user doesn't need to type it in. You could for example, from the app, open an URL pointing to a server web address that will serve the profile for your users. But then you don't even need an app just for that.. you could generate a QR code pointing to that URL and use one of the existing QRCode decoding apps for example.

Resources