GitHub页面的不和谐Oauth2?

Posted

技术标签:

【中文标题】GitHub页面的不和谐Oauth2?【英文标题】:Discord Oauth2 for GitHub Pages? 【发布时间】:2022-01-20 19:55:34 【问题描述】:
var express = require('express')()
const app = express();
var port = 
  'client_id': '…',
  'client_secret': '…',
  'grant_type': 'authorization_code',
  'redirect_uri': '…',


app.get('/', (request, response) => 
  return response.sendFile('index.html',  root: '.' );
);

app.listen(port, () => console.log(`App listening at http://localhost:$port`));
console.log('1')

如何将 Discord Oauth2 用于 GitHub 页面?它说 require 没有定义。甚至在本地主机上,它说我必须将字符串包装在require('express') 中的数组中。然后,它说app.get 不是函数。

在这一切之后,我如何请求检索登录者的服务器?

【问题讨论】:

嗯... GitHub 页面是静态的。不允许服务器端。 另外,不是require("express")(),是require("express") @MrMythical 实际上,不完全是 - const app = require('express')() 相当于做类似const express = require('express'); const app = express(); 的事情,后者是您在官方文档中看到的内容。两者的工作方式相同。 这能回答你的问题吗? Client on Node.js: Uncaught ReferenceError: require is not defined 【参考方案1】:

GitHub Pages 是 静态托管 托管服务,而 Express 是 服务器端 框架服务器。

GitHub Pages 是一种静态网站托管服务,它直接从 GitHub 上的存储库中获取 HTML、CSS 和 javascript 文件,可选择通过构建过程运行文件,然后发布网站。 p>

Source

这意味着您不能将 Express 与 GitHub Pages 一起使用。但是,有一些解决方法和替代方法。

解决方法:在客户端加载内容

如果您想坚持使用 GitHub Pages,这是推荐的路线。您将获得一个静态骨架页面,并在客户端使用 JavaScript 填写字段。

此方法有多种方法,但是,这取决于您如何处理身份验证。

替代方案:使用其他托管服务

我假设您使用的是 GitHub Pages,因为它是一项免费的托管服务,但问题是它只是静态的。

Vercel 和 Netlify 都有一个名为 serverless functions 的东西。使用无服务器功能,每次有人向您的网站发出请求时,都会启动一个新的计算实例。这里有一些关于如何实现 Express 的官方指南:

Vercel(推荐) Netlify

祝你的项目好运!

【讨论】:

这一次,又出现了一个错误:app.get is not a function 我试过require(['express']) 并在后面选择性地添加了(),但它也不起作用。 @John 你用的是什么方法?客户端渲染,还是使用 Vercel 或 Netlify? Vercel。谢谢! 它是require('express'),没有[]s。并确保您在代码底部导出了应用程序,module.exports = app。如需更多说明,请参阅guide。 哦,另外,您应该使用以下任一代码。不是都。 const express = require('express'); const app = express();const app = require('express')();

以上是关于GitHub页面的不和谐Oauth2?的主要内容,如果未能解决你的问题,请参考以下文章

我如何从网络托管机器人上的不和谐聊天中读取 txt 文件中的原始文本

你如何为你的不和谐机器人创建一个永久的 oauth 邀请?

试图制作一个命令页面来列出我的不和谐机器人上的所有命令,但不知道如何[关闭]

Github第三方登录

如何为 github.io 网站获取自定义不和谐嵌入?

按下网站上的按钮后不显示 Discord OAUTH2