Generally, it’s bad to save the user’s username and password in plaintext, even on the user’s phone. Theoretically somebody could obtain the phone, look through the files on the system and find your app that has the username and pw in plain sight. Then they could use the password to try and gain access to different services, because most people use the same password for multiple things.
Parse has a way around this with the session token. You can authenticate calls to Parse with the user’s session token, without the need to store username and password. However there is one big security flaw with the way Parse handles session tokens, they never expire! Even when the user logs out or changes their password, the session token always remains valid. Theortically the thief mentioned above could obtain this session token and pretend to be that user, and gain access to all the info that the user has in your Parse database (except for their password! Thankfully Parse hashes those before saving.)
So what’s the best thing to do? I’m not entirely sure, but you could probably encrypt the session token before saving it. This is not foolproof though because somebody just needs to decompile your app package and they will be able to see your encryption key along with your Parse API Key and any other secure keys that you stored in your code. There is no way to stop a determined hacker.
Probably the most secure thing you can do is have the user login every time they open your app. But that would be very annoying.
One last thing, if you’re not already using it, you should check out mod_parse. It makes working with Parse very easy in Corona.