类型错误:res.json 不是带有 Hapijs 的函数 OAuth github

问题描述

我正在尝试创建一个简单的应用程序来使用 github(登录)进行身份验证。创建服务器并添加 wating 以从 github 获取 access_token 后,我遇到了错误。我正在使用 nodejs Hapi 框架

TypeError: res.json is not a function

server.js

server.route({
    method: "GET",path: "/",handler: (request,h) => {
      return "<h1>Node Assignement Project</h1>";
    },});

  // Login
  server.route({
    method: "GET",path: "/login/oauth/authorize",h) => {
      return h.redirect(
        `https://github.com/login/oauth/authorize?client_id=${client_id}&redirect_uri=http://localhost:5000/login/github/callback`
      );
    },});

  async function getUserToken(code) {
    const res = await fetch("https://github.com/login/oauth/access_token",{
      method: "POST",headers: {
        "Content-Type": "application/json",},body: JSON.stringify({
        client_id,client_secret,code,}),});
    const data = res.text();
    const params = new URLSearchParams(data);
    return params.get("access_token");
  }
  // callback
  server.route({
    method: "GET",path: "/login/github/callback",async handler(request,res) {
      const code = request.query.code;
      const token = await getUserToken(code);
      res.json({ token });
    },});
  await server.start();
  console.log("Server on port 5000");
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...