javascript - Where to store user session in Sapper app - Stack Overflow

I have started moving an app from React to Sapper. I am new to SSR architecture and want to know what t

I have started moving an app from React to Sapper. I am new to SSR architecture and want to know what the best way is to store the user session and data.

I am using Firebase for my auth and database. After using the client side firebase API to get the session keys and other user data how would I store the data? I have seen some tutorials making a user.js store, but in the Sapper docs I see it remends using the session store. So which is better? And what would be the flow from client side to the server side session store?

E.g. If I were to make a login folder under which I have the svelte ponent and the server side route. Would there be a post "endpoint" that would set the session.user?

I have started moving an app from React to Sapper. I am new to SSR architecture and want to know what the best way is to store the user session and data.

I am using Firebase for my auth and database. After using the client side firebase API to get the session keys and other user data how would I store the data? I have seen some tutorials making a user.js store, but in the Sapper docs I see it remends using the session store. So which is better? And what would be the flow from client side to the server side session store?

E.g. If I were to make a login folder under which I have the svelte ponent and the server side route. Would there be a post "endpoint" that would set the session.user?

Share Improve this question asked Oct 28, 2019 at 19:43 GrepThisGrepThis 6711 gold badge13 silver badges24 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 4

It's a bit tricky. I managed to get this working with both client and server using a authentication middleware

https://github./itswadesh/sapper-emerce/blob/master/src/server.js

The best way I have found so far is using JWT's:

Either get a JWT from a third party (Google, facebook, github) or sign your own.

server.js:

express()
    .use(
        pression({
            threshold: 0
        }),
        sirv('static', {
            dev
        }),
        cookieParser(),
        bodyParser.json({strict: false}),
        bodyParser.urlencoded({ extended: false }),
        async (req, res, next) => {
            const token = req.cookies['AUTH']
            const profile = token && !dev ? await getBasicUserInfo(token) : false

            return sapper.middleware({
                session: () => {
                    return {
                        authenticated: !!profile,
                        profile
                    }
                }
            })(req, res, next)
        }
    )

then with every request just add 'credentials':'include to your requests to the server.

you will have to verify the token on every request but this method makes you app super scalable

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1742301976a4418193.html

相关推荐

  • javascript - Where to store user session in Sapper app - Stack Overflow

    I have started moving an app from React to Sapper. I am new to SSR architecture and want to know what t

    21小时前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信