簡體   English   中英

在Heroku上獲取Google OAuth2回調時的循環結構

[英]Circular structure when getting Google OAuth2 callback on Heroku

我正在使用Node v4.4.0,npm 2.14.20並航行0.10.5。 我已經使用Google OAuth2創建了一個簡單的應用程序(我所擁有的只是具有用戶模型的Auth控制器,並在config / passport.js中配置了護照),並且在本地運行時運行良好,但是在Heroku上部署時運行失敗。 從日志中,我懷疑在用戶已經通過Google身份驗證后創建新會話時出現問題。 我在下面附加了日志,以前有人遇到過類似的問題嗎?

016-03-16T18:54:01.206409+00:00 heroku[router]: at=info method=GET path="/login" host=porocila-treningov.herokuapp.com request_id=2650d7a4-0047-45b6-bd64-fbe122902c9b fwd="92.53.152.70" dyno=web.1 connect=5ms service=33ms status=200 bytes=1382
2016-03-16T18:54:33.179402+00:00 heroku[router]: at=info method=GET path="/auth/google" host=porocila-treningov.herokuapp.com request_id=e91d0c55-cf6a-4aef-b994-96c3b92bcf9a fwd="92.53.152.70" dyno=web.1 connect=0ms service=9ms status=302 bytes=528
2016-03-16T18:54:35.675271+00:00 app[web.1]: /app/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/session/memory.js:72
2016-03-16T18:54:35.675281+00:00 app[web.1]:     self.sessions[sid] = JSON.stringify(sess);
2016-03-16T18:54:35.675282+00:00 app[web.1]:                               ^
2016-03-16T18:54:35.675283+00:00 app[web.1]: 
2016-03-16T18:54:35.675284+00:00 app[web.1]:     at Object.stringify (native)
2016-03-16T18:54:35.675284+00:00 app[web.1]: TypeError: Converting circular structure to JSON
2016-03-16T18:54:35.675286+00:00 app[web.1]:     at process._tickDomainCallback (node.js:390:13)
2016-03-16T18:54:35.675285+00:00 app[web.1]:     at /app/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/session/memory.js:72:31
2016-03-16T18:54:35.675286+00:00 app[web.1]:     at nextTickCallbackWith0Args (node.js:420:9)
2016-03-16T18:54:35.696055+00:00 app[web.1]: 
2016-03-16T18:54:35.706858+00:00 app[web.1]: npm ERR! node v4.4.0
2016-03-16T18:54:35.707355+00:00 app[web.1]: npm ERR! npm  v2.14.20
------------SOME MORE CRASH INFO, HOW TO SUBMIT BUG, HOW TO FIND AUTHOR ETC-----------
2016-03-16T18:54:35.669056+00:00 heroku[router]: at=info method=GET path="/auth/google/callback?code=4/-OF3ImicWoSJkNfnoO60C7MNFVUtAj7YG2PXRUQkIUs" host=porocila-treningov.herokuapp.com request_id=a5578684-269c-44a0-abdc-2808517a4ea7 fwd="92.53.152.70" dyno=web.1 connect=0ms service=355ms status=302 bytes=409
2016-03-16T18:54:36.506369+00:00 heroku[web.1]: Process exited with status 1
2016-03-16T18:54:36.518470+00:00 heroku[web.1]: State changed from up to crashed
2016-03-16T18:54:37.792637+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/login" host=porocila-treningov.herokuapp.com request_id=1ab7a2b5-80fb-48b5-993d-ac0f213c996a fwd="92.53.152.70" dyno= connect= service= status=503 bytes=

當您如何將某個對象分配給該對象的某個鍵時,就會發生圓形結構錯誤。 例如...

var obj={
  'x':1,
  'y':false
};
obj.z=obj;//or anyhow this happens by mistake

看截圖!!!

因此,這是因為形成了圓形對象。並且在將此類對象字符串化時會導致異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM