Tag: 卫星

为Vkontakte oauthconfigurationSatellizer.js

我正在尝试为vk.com授权configuration卫星。 但是,我试图validation时,不断收到500内部服务器错误。 这是我的configuration: 在客户端: $authProvider.oauth2({ name: 'vkontakte', url: '/auth/vk', redirectUri:window.location.origin || window.location.protocol + '//' + window.location.host, clientId: 'my-client-id', authorizationEndpoint: 'http://oauth.vk.com/authorize', scope: 'friends, photos, email, photo_big', display: 'popup', responseType: 'code', requiredUrlParams: ['response_type', 'client_id', 'redirect_uri', 'display', 'scope', 'v'], scopeDelimiter: ',', v: '5.37' }); 和服务器端路由的相关部分: //vkontakte app.post('/auth/vk', function(req, res) { var accessTokenUrl = 'https://oauth.vk.com/access_token'; var params = { […]

卫星然后authentication后不叫

我对angular度很陌生,所以我的知识是基于教程,即使如此,我也不成功。 我需要使用Google帐户进行身份validation。 这工作,我得到一个令牌,我的API调用可以授权。 但login后popup窗口应该解雇,我应该被redirect到主页。 这不起作用。 这是我的控制器 angular.module('MyApp').controller('loginController', ['$scope', '$auth', '$location','loginService', loginController]); function loginController($scope, $auth, $location, loginService) { $scope.authenticate = function(provider) { $auth.authenticate(provider).then(function(data) { loginService.saveToken(data.data.token); console.log('You have successfully signed in with ' + provider + '!'); $location.path('http://localhost/#/home'); }); }; }; 在app.js我有我的configuration。 这不是我的工作,而是一个实习生和我一样的朋友,他负责一个移动应用程序,在这个应用程序中,他使用相同的function来获得他的令牌,并且工作正常。 authProvider.google({ clientId: CLIENT_ID, redirectUri: 'http://localhost:3000/api/users/signIn' }); $authProvider.storage = 'localStorage'; // or 'sessionStorage' $authProvider.loginRedirect = […]

节点/ Angular / Passport / Satellizer基于令牌的Facebook身份validation不返回令牌

我正在使用Angular上的Satellizer和一个使用Passport.js进行身份validation的Node后端。 我已经根据Satellizer文档实现了loginstream程,并且能够通过Passport / Node服务器将令牌返回给浏览器。 但是,当我返回令牌时,它会返回到popup窗口,而不是Angular应用程序本身。 因此,在popup窗口自closures之后,我在angular度应用程序中收到此错误: Expecting a token named "token 这是我的护照路线: app.post('/login/facebook', passport.authenticate('facebook-login', { 'scope': ['email'] })) app.get('/login/facebook-callback', passport.authenticate('facebook-login'), function(req, res) { tokenHelper.createSendToken(req.user, res); }) 这是我的Passport Facebook战略: var facebookLoginStrategy = new FacebookStrategy({ clientID: process.env.FACEBOOK_APP_ID, clientSecret: process.env.FACEBOOK_APP_SECRET, callbackURL: "http://localhost:8080/login/facebook-callback", passReqToCallback: true, profileFields: ['email'] }, function(req, accessToken, refreshToken, profile, done) { if (!req.user) { User.findOne({ "facebookData.id": […]

在Node request.headers中设置授权

我试图发送一个Passport-Locallogin请求到客户端,由Satellizer进行分析,我希望从服务器端发送一个授权令牌。 不幸的是,在request.headers没有密钥authorization : { host: 'localhost:3000', connection: 'keep-alive', 'cache-control': 'max-age=0', accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' } loginfunction在这里redirect,这是调用ensureAuthenticated()地方。 app.get('/main', ensureAuthenticated, function(req, res, next){ res.render('main.ejs', { token: createSendToken(req.user, config.secret), id: req.user._id, username: req.user.username, authorization: req.user.authorization }); }); ensureAuthenticated()然后分析login请求,并确保令牌匹配: function ensureAuthenticated(req, res, next) { if (!req.headers.authorization) { return res.status(401).send({ message: 'Please make sure your request has an Authorization header' }); } […]

用Googleloginlogin我的网站后获取谷歌帐户信息(用于login的卫星lib)

我已经使用卫星和节点服务器login我的网站与谷歌唱歌。 我已经成功login并在mongodb数据库中添加了以下数据。 { "_id" : ObjectId("57adec45a8fb51401c1ba843"), "displayName" : "xyz user", "picture" : "https://lh3.googleusercontent.com/-xxxxxxx_xx/xxxxxx/xxxxxxx/xxxxxxx/photo.jpg?sz=200", "google" : "100379763204xxxxxxxxx", //user id "__v" : 0 } 现在,我想从谷歌的性别,电话号码,位置等其他信息… 那么,如何从Google帐户获取login用户的所有信息?