Home > Blockchain >  React Native authentication using Express sessions?
React Native authentication using Express sessions?

Time:12-16

I currently have a web application that uses React frontend Express sessions backend for authentication and authorization. I'm wondering if I can use the same or similar workflow for authenticating mobile users. This is how I authenticate users in my web application:

req.session.user = { id: user.rows[0].id }; // Set session cookie with user's ID
res.status(200).json({status: "success", message: "Login successful"});

It's very simple. If the passed login credentials are correct - I create a session with the user's ID that comes from the database and return a success to the front end.

Can I do something similar when using React Native as front end? I'm new to mobile development, but does the mobile client even have a cookie storage similar to a web browser? Very thankful for any input :)

CodePudding user response:

Yes you can use cookies for authentication, I recommend to use fetch function to do http request. You need to pass access-control-allow-credentials header to share the cookies between server and client.

Example:

var params = {
            method: "POST",
            headers: {
                Accept: 'application/json',
                'Content-Type': 'application/json',
                'access-control-allow-credentials': 'true'
              } 
        }
        params.body = JSON.stringify(body)
        const response = await fetch(url, params)
        const json = await response.json()

CodePudding user response:

Call the exact same function from react native as it is from react and persist data using this library react-native-async-storage.

  • Related