当前位置: 首页 > 知识库问答 >
问题:

在我的google登录代码中发现了一个以前没有的错误

陆文博
2023-03-14

我的项目中当前有以下代码:

后端:

app.post('/login', (req, res)=>{
    let token = req.header.token;

    async function verify() {
        const ticket = await client.verifyIdToken({
            idToken: id_token,
            audience: CLIENT_ID,
        });
        const payload = ticket.getPayload();
        const userid = payload['sub'];
        console.log(payload)
    }
    verify()
        .then(()=>{
            res.cookie('session-token', token);
            res.send('success');
        }).
    catch(console.error);
})

前端:

<script>
        function onSignIn(googleUser) {
            var id_token = googleUser.getAuthResponse().id_token;
            console.log(id_token)

            var xhr = new XMLHttpRequest();
            xhr.open('POST', '/login');
            xhr.setRequestHeader('Content-Type', 'application/json');
            xhr.onload = function() {
                console.log('Signed in as: ' + xhr.responseText);
                if(xhr.responseText == 'success'){
                    signOut();
                    location.assign('/dashboard');
                }
            };
            xhr.send(JSON.stringify({token: id_token}));
        }
    </script>

当我启动本地主机并导航到/login路由时,我的终端中出现一个错误,该错误有以下消息:

Error: The verifyIdToken method requires an ID Token
    at OAuth2Client.verifyIdTokenAsync (/Users/gilmoreg01/Developer/pinventory/pinventory_backend/node_modules/google-auth-library/build/src/auth/oauth2client.js:391:19)
    at OAuth2Client.verifyIdToken (/Users/gilmoreg01/Developer/pinventory/pinventory_backend/node_modules/google-auth-library/build/src/auth/oauth2client.js:386:25)
    at verify (/Users/gilmoreg01/Developer/pinventory/pinventory_backend/testserver.js:29:37)
    at /Users/gilmoreg01/Developer/pinventory/pinventory_backend/testserver.js:37:5
    at Layer.handle [as handle_request] (/Users/gilmoreg01/Developer/pinventory/pinventory_backend/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/gilmoreg01/Developer/pinventory/pinventory_backend/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/Users/gilmoreg01/Developer/pinventory/pinventory_backend/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/Users/gilmoreg01/Developer/pinventory/pinventory_backend/node_modules/express/lib/router/layer.js:95:5)
    at /Users/gilmoreg01/Developer/pinventory/pinventory_backend/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/Users/gilmoreg01/Developer/pinventory/pinventory_backend/node_modules/express/lib/router/index.js:335:12)

我很困惑是什么正在发生,因为我有它以前的工作,我没有改变任何东西,因为它是上次工作。如果有人知道发生了什么,我很乐意知道。

谢谢!

共有1个答案

严修诚
2023-03-14

我也许应该在发这个之前多做一点。不管怎样,问题是我接受的是头球而不是身体。

 类似资料:
  • 我犯了个奇怪的错误。“找不到线”。我试着对我的sem变量进行评论,认为这就是问题所在,但没有骰子。我试着注释我的字符串元素,看看这些是否是问题所在。任何帮助都将不胜感激。 错误:线程“main”java中出现异常。util。NoSuchElementException:在java中找不到行。base/java。util。扫描仪。位于Driver2的nextLine(Scanner.java:165

  • 我正在尝试使用VS代码调试一些python代码。我得到了以下关于一个模块的错误,我确信已安装。 我使用 sudo pip安装SimpleTk 我知道它是安装的,因为当我通过命令行运行代码时,我遇到了类似的错误,通过执行上述操作,它得到了修复。我不明白为什么VS code不认识到这一点

  • 我正在尝试构建一个非循环树结构,每个节点由字符串标识,每个分支节点的类型为PrimMap。同一代上的所有节点都保存为映射中的Item对象。这是缩写代码: 错误消息是:/src/PrimMap。h: 314:57:错误:将“const PrimMap”作为“PrimMap::error PrimMap::add(const string)”的“this”参数传递 我看不出这个错误消息有什么意义——特

  • 每个人。我有一个错误使用谷歌登录。首先,我喜欢一些教程。有这个例外。与Android Studio工作,所以我做了样品新(!)项目(Android Play Service)在哪里是谷歌登录,并有相同的例外。又不明白,到底是怎么了? 我也读到这个答案有决心。但我在任何地方都注销了,也许有人有代码解决这个问题。 告诉我,如果需要我的代码。谢谢你的理解。 这是我的密码 公共类GoogleActivit

  • 上面这一行正在生成错误“invlaid escape sequence”。所以我把它改成: 现在我得到了错误“参数fileAttachment的非法修饰符”。 那么如何修复这个错误呢?

  • 我创建DbManger类来处理Sqlite数据库操作,我尝试在数据库中插入值,但它给出了一个错误 E/SQLiteDatabase(6729):android.database.sqlite.SQLiteExcture:近"CREATE":语法错误(代码1):,编译时: INSERT INTO CREATE表关系(_idINTEGER主键自动输入,名称文本不为空,电子邮件文本不为空,年龄文本不为空