Node.js github ouath调用中将域名替换为github.com

Node.js github ouath调用中将域名替换为github.com,node.js,reactjs,oauth,passport.js,github-api,Node.js,Reactjs,Oauth,Passport.js,Github Api,当我尝试在github oauth应用程序回调url上使用域名而不是IP时,它会给我一个错误 如果我将其更改为: http://**XYZ.com**/login/oauth/authorize?response_type=code&redirect_uri=http%3A%2F%2F**XYZIP**%3A3000%2Fauth%2Fgithub%2Fcallback&scope=user%3Aemail&client_id=34940ae24cfd171d449a4

当我尝试在github oauth应用程序回调url上使用域名而不是IP时,它会给我一个错误

如果我将其更改为:

http://**XYZ.com**/login/oauth/authorize?response_type=code&redirect_uri=http%3A%2F%2F**XYZIP**%3A3000%2Fauth%2Fgithub%2Fcallback&scope=user%3Aemail&client_id=34940ae24cfd171d449a4
然后它会工作,但由于oauth中的回调URL不同,它会显示不匹配的回调URL

基本上,我是从react应用程序前端和节点
JS
后端以及后端的passport git hub调用的


我做错了什么?

这是预期的行为。当您通过第三方身份验证服务登录时,他们将调用他们的服务并使用会话密钥重定向到您的服务

所以,发生的是

  • 有一个
    Login
    按钮,用户点击它
  • 它重定向到google/github/facebook登录页面,用户输入用户名和密码,然后按login
  • 如果用户进行了身份验证,它将生成一个会话密钥,并将该会话密钥连同其他信息(例如配置文件)发送到回调页面
  • 回调将反序列化请求并生成用户会话和概要文件对象等
  • 打开route passport中间件时,会检查会话是否存在,如果存在,则转到
    next()
    ,否则会发送一些错误作为响应

也许我的问题完全错了,但这是一个广义的流程

实际上,在我的服务器上,它在xyz.com上运行:3000,然后我将Peroxide改为80,这样它就可以在xyz.com上运行了。对于xyz.com:3000,它工作正常。但是对于xyz.com,它不起作用。
http://github.com/login/oauth/authorize?response_type=code&redirect_uri=http%3A%2F%2F**XYZIP**%3A3000%2Fauth%2Fgithub%2Fcallback&scope=user%3Aemail&client_id=34940ae24cfd171d449a4