Node.js 如何让前端知道服务器已成功检索访问令牌

Node.js 如何让前端知道服务器已成功检索访问令牌,node.js,reactjs,express,oauth-2.0,instagram-api,Node.js,Reactjs,Express,Oauth 2.0,Instagram Api,我一直在研究OAuth 2.0授权代码流,并试图编写一个带有Express后端的React应用程序,该应用程序可以显示用户在自己的Instagram配置文件中看到的内容。我正试图用最少的外部库(即不使用passport js)来实现这一点,并且不将数据库引入混合 这是我目前的流程: 资源所有者单击React应用程序(端口3000)上的标记,该标记将它们重定向到my Express server(端口8000)的/auth/instagram端点 res.redirect(authorizatio

我一直在研究OAuth 2.0授权代码流,并试图编写一个带有Express后端的React应用程序,该应用程序可以显示用户在自己的Instagram配置文件中看到的内容。我正试图用最少的外部库(即不使用passport js)来实现这一点,并且不将数据库引入混合

这是我目前的流程:

  • 资源所有者单击React应用程序(端口3000)上的
    标记,该标记将它们重定向到my Express server(端口8000)的
    /auth/instagram
    端点

  • res.redirect(authorizationon\u URL)
    将它们发送到Instagram的授权服务器

  • 资源所有者同意,并将授权代码发送回预定义的重定向url
    /auth/instagram/callback
    ,并将授权代码设置为查询参数

  • 我从url上去掉授权码,并向
    https://api.instagram.com/oauth/access_token
    获取访问令牌

  • 既然我有了访问令牌,我如何联系React前端,让他们知道一切正常,并且用户已成功通过身份验证

    从我所读到的内容来看,这就是会话和cookie的概念发挥作用的地方,但是我还没有找到关于如何在不引入第三方库的情况下实现我想要的东西的文档

    最后,我希望我的应用程序能够支持多个用户同时查看他们的个人资料。由于我想象将访问令牌传递给前端会破坏在后端安全检索它的目的,因此我猜我需要在前端和后端之间传递一个会话id,该id以某种方式链接到访问令牌


    任何关于我下一步应该做什么的想法,以及您认为合适的任何文章或文档,都将不胜感激。谢谢

    由于您在服务器端执行OAuth身份验证,因此必须向重定向uri传递一些参数,以标识用户会话(请参见:);
    当从授权服务器调用重定向uri时,您将知道哪个用户获得了授权。通知浏览器有两个选项:1)使用web套接字通知客户端;2) 使用定时器触发功能从客户端获取状态

    为什么你需要“接触”到前端?它应该通过您的后端验证代码,因此响应的成功会告诉它是否有效。@jonrsharpe因此,如果我理解正确的话:资源所有者授予应用程序权限,重定向url设置为返回到React应用程序,在那里它侦听代码。收到代码后,会将代码发送到Express后端,并在那里发出POST请求,以将代码交换为访问令牌。此调用的成功将决定响应是否有效。对吗?这是如何处理多用户的概念的?是的,这是正确的。