我在 Node.js 应用程序中遇到 Instagram OAuth 问题。我正在使用护照-instagram 策略,并且收到以下错误:
InternalOAuthError: failed to fetch user profile
at /home/icsl-008/work/blackchain-backend/server/node_modules/passport-instagram/lib/strategy.js:80:28
at passBackControl (/home/icsl-008/work/blackchain-backend/server/node_modules/oauth/lib/oauth2.js:132:9)
at IncomingMessage.<anonymous> (/home/icsl-008/work/blackchain-backend/server/node_modules/oauth/lib/oauth2.js:157:7)
at IncomingMessage.emit (events.js:387:35)
at endReadableNT (internal/streams/readable.js:1317:12)
at processTicksAndRejections (internal/process/task_queues.js:82:21)
这是我设置 Instagram OAuth 策略和处理身份验证的相关代码:
passport.use(
new InstagramStrategy(
{
clientID: "CLIENTID",
clientSecret: "CLIENTSECRET",
callbackURL: "https://061d-122-170-109-252.ngrok-free.app/api/auth/instagram/callback",
scope: ['user_profile'],
},
function (accessToken, refreshToken, profile, done) {
console.log("accessToken: " + accessToken);
console.log("refreshToken: " + refreshToken);
// Store or use the obtained accessToken
console.log("profile: " + profile);
return done(null, profile);
}
)
);
// Callback route after Instagram redirects
app.get('api/auth/instagram/callback',
passport.authenticate('instagram', { failureRedirect: '/login' }),
function(req, res) {
try {
console.log("instagram redirect", req.query.code)
// Successful authentication, redirect home.
res.redirect('/profile');
} catch (error) {
console.log("get error: " + error)
}
});
附加信息:
护照版本:
^0.6.0
Instagram策略版:1.0.0
采取的步骤: 我已经验证了我的 Instagram API 凭据并检查了文档,但我仍然无法获取用户个人资料。
预期行为: 我希望 Instagram 身份验证后能够成功获取用户个人资料。
感谢任何帮助: 对于如何解决此问题的任何见解或建议,我将不胜感激。谢谢!
我也面临同样的问题,如果你解决了这个问题,请告诉我。非常感谢