Javascript 我的sails.js passport.js实现中出现InternalOAuthError的原因是什么?
我正在尝试使用Google OAuth2.0策略在Javascript 我的sails.js passport.js实现中出现InternalOAuthError的原因是什么?,javascript,authentication,sails.js,passport.js,passport-google-oauth,Javascript,Authentication,Sails.js,Passport.js,Passport Google Oauth,我正在尝试使用Google OAuth2.0策略在Sails.js应用程序中实现passport.js身份验证。我已经考虑过使用sails generate auth和sails auth但它们不再受支持。我也考虑过Waterlock,但它只适用于本地、Twitter和Facebook策略 当用户按下“使用google+登录”按钮时,将调用下面的google()函数。预期的行为是,用户然后被重定向到谷歌页面,在那里他们被提示进行身份验证。实际上,以下错误记录在标记行中。此时未定义用户对象 Int
Sails.js
应用程序中实现passport.js身份验证。我已经考虑过使用sails generate auth
和sails auth
但它们不再受支持。我也考虑过Waterlock,但它只适用于本地、Twitter和Facebook策略
当用户按下“使用google+登录”按钮时,将调用下面的google()
函数。预期的行为是,用户然后被重定向到谷歌页面,在那里他们被提示进行身份验证。实际上,以下错误记录在标记行中。此时未定义用户对象
InternalOAuthError: Failed to obtain request token (status: 307 data: <HTML>
<HEAD>
<TITLE>Temporary Redirect</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Temporary Redirect</H1>
The document has moved <A HREF="https://accounts.google.com/OAuthGetRequestToken">here</A>.
</BODY>
</HTML>
)
其他信息:Passport在config/policies.js
中初始化:
'*': [
passport.initialize(),
passport.session(),
],
我的问题:我收到的错误的可能原因是什么?我在使用Express、passport和passport google誓言时遇到了相同的问题。我通过切换到解决了这个问题 我不是100%确定这是为什么,但谷歌似乎已经放弃了OAuth支持很久了 重要提示:OAuth 1.0于2012年4月20日被正式弃用,不再受支持。我们鼓励您尽快迁移到OAuth 2.0 您必须将策略更改为: var GoogleStrategy=require('passport-google-oauth20')。策略
passport.use(new GoogleStrategy({
clientID: GOOGLE_CLIENT_ID,
clientSecret: GOOGLE_CLIENT_SECRET,
callbackURL: "http://www.example.com/auth/google/callback"
},
function(accessToken, refreshToken, profile, cb) {
User.findOrCreate({ googleId: profile.id }, function (err, user) {
return cb(err, user);
});
}
));
我在使用Express、passport和passport google宣誓时遇到了同样的问题。我通过切换到解决了这个问题 我不是100%确定这是为什么,但谷歌似乎已经放弃了OAuth支持很久了 重要提示:OAuth 1.0于2012年4月20日被正式弃用,不再受支持。我们鼓励您尽快迁移到OAuth 2.0 您必须将策略更改为: var GoogleStrategy=require('passport-google-oauth20')。策略
passport.use(new GoogleStrategy({
clientID: GOOGLE_CLIENT_ID,
clientSecret: GOOGLE_CLIENT_SECRET,
callbackURL: "http://www.example.com/auth/google/callback"
},
function(accessToken, refreshToken, profile, cb) {
User.findOrCreate({ googleId: profile.id }, function (err, user) {
return cb(err, user);
});
}
));