We are using "Sign In with LinkedIn" in our website and we are in the process of adding Facebook Login. I was asked to figure out how to keep the info from the users updated after they login (even if they don't come back to the site) and I'm not sure whether this is possible, or for how much time we are able to access their profile info.
If a user logs in and changes his profile info a month later is it possible to know it even if they don't Sign In again? Could I run a cron job that uses Facebook and LinkedIn APIs to update the users data?
Note: The following answers are related to Facebook API only (I've never used LinkedIn API before, but I'm pretty sure the answer can give a brief overview about the problem).
If a user logs in and changes his profile info a month later is it possible to know it even if they don't Sign In again?
Yes. It is possible to change a user's profile info later, without signing in again. Actually, it depends on the time of the info you're willing to access. If it is a publicly available info (that doesn't need an Access Token), you can easily fetch it from the Facebook API (assuming you are storing the user ID or username in your application when a user first logs in) whenever you want.
However, if it is something which requires an Access Token, then you might need to ask user to login again (since a User Access Token expires within 2 hours). You can also generate a Long Lived User Access Token, which typically expires in 60 days. This means that you can request for a user's info from the Facebook API, without needing them to sign in again, within those 60 days.
Could I run a cron job that uses Facebook and LinkedIn APIs to update the users data?
Yes. You can create a Cron Job using your application to fetch the updated info just like I mentioned in the answer to your previous info. Facebook used to provide a similar functionality few years back using a special offline_access
permission, but it has been deprecated and cannot be used anymore.
Several alternative methods to it (for example: this post and this post) can be found by a simple Google search and almost all will discuss the method which I just mentioned in the answer above. Take a look at the answers to this post for more info on the creation of a Cron Job for Facebook API.