问题描述
我正在尝试创建一个简单的应用程序来使用 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 (将#修改为@)