Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从服务器(Node.js)获得jwt令牌而不从客户端(Vue)发出ajax调用_Node.js_Vue.js_Authentication_Cross Domain_Passport Google Oauth - Fatal编程技术网

如何从服务器(Node.js)获得jwt令牌而不从客户端(Vue)发出ajax调用

如何从服务器(Node.js)获得jwt令牌而不从客户端(Vue)发出ajax调用,node.js,vue.js,authentication,cross-domain,passport-google-oauth,Node.js,Vue.js,Authentication,Cross Domain,Passport Google Oauth,我正在尝试将基于谷歌的身份验证添加到我的应用程序中。这就是我正在做的 在my express.js服务器端使用passport-google-oauth20模块实现passport-google策略 我创建了两个端点,第一个是auth/google,第二个是auth/google/callback,它是googleoauth的回调url 在策略定义中,我试图创建一个jwt令牌,我希望以某种方式将其发送给客户机 在vue应用程序的客户端,我添加了google登录按钮,可在单击时重定向到我在服务器中

我正在尝试将基于谷歌的身份验证添加到我的应用程序中。这就是我正在做的

  • 在my express.js服务器端使用passport-google-oauth20模块实现passport-google策略
  • 我创建了两个端点,第一个是
    auth/google
    ,第二个是
    auth/google/callback
    ,它是googleoauth的回调url
  • 在策略定义中,我试图创建一个jwt令牌,我希望以某种方式将其发送给客户机
  • 在vue应用程序的客户端,我添加了google登录按钮,可在单击时重定向到我在服务器中创建的端点
  • 然后,在服务器端(我也在这里生成jwt令牌)交换
    accessTokens
    作用域信息。但我想知道,在服务器上的身份验证成功后,如何将访问令牌返回到客户端

  • 请注意,我不能进行ajax调用,因为它将引发
    cors
    问题。如有任何建议,我们将不胜感激

    请详细说明,后端节点服务器是否在您的控制之下,因为如果是这样,您应该能够为前端应用程序设置CORS策略。

    嘿,我可以控制节点服务器,但这里的问题是OAuth2 auth不支持ajax调用。如果您使用OAuth2意味着您已经依赖某个API进行身份验证,那么为什么希望它返回JWT令牌?因为默认情况下OAuth2应该返回一个访问令牌