Tag: oauth

OAuth2Client应该创build每个请求或caching每个用户?

我正在使用google api客户端的节点版本。 即: google-api-nodejs-client 。 作为这个的一部分,我设置了oauth-flow( 'google webserver'stream程是确切的。) 作为身份validation的一部分,这包括做如下的调用: var oauth2Client = new OAuth2Client(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL); 和 oauth2Client.setCredentials(userSpecificTokens) 显然,第一个调用是特定于应用程序的,而第二个调用是用户特定的。 在这种情况下什么被认为是好的做法? 之一: 每个用户有1个oauth2Client和caching/保存令牌,并在每个请求上使用oauth2Client.setCredentials(userSpecificTokens)注入它们。 这基本上为每个请求创build一个新的oauth2Client 。 每个用户都有一个oauthClient ,包括已经应用的oauth2Client.setCredentials(userSpecificTokens) ,它是在需要时创build的,然后被caching。

节点webkit和Google OAuth

刚开始使用node webkit,我只是通过一个iframe加载一个网站来开始…(我知道,肮脏,但用双手和一点时间完成工作)。 <iframe src="http://somewebsite.com"></iframe> 问题是,我有Googlelogin的网站,这会在网站上popup。 出于某种原因,它不在node-webkit中,我找不到任何关于启用popup窗口的文档… 我用于Googlelogin的代码是他们在网站上提供的默认代码: https : //developers.google.com/accounts/docs/OAuth2Login 我目前没有在node-webkitconfiguration中设置任何令人兴奋的东西: "window": { "toolbar": true, "width": 1024, "height": 768, "min_width": 300, "min_height": 300, "position": "center", "resizable": true, "show_in_taskbar": true, "icon": "www/resources/img/icon.png" }, 所以我的问题是,如何从iframe启用node-webkit上的popup窗口来获取Google OAuth的工作? 在此先感谢您的帮助。

护照和智威汤逊

所以我设法让passport-twitter和jsonwebtoken库一起工作,但为了使它正常工作,我必须使用express-session作为中间件。 我不想添加会话,因为我使用jsonwebtoken来返回令牌。 这里是代码autheticate.js router.get('/twitter', function(req, res, next){ passport.authenticate('twitter', {session: false}, function(err, user, info){ if(err){ return next(err); } if(user){ var token = createToken(user); console.log(token); return res.json({token: token}); } else { return res.status(401).json(info); } })(req, res, next); }); 我已经添加了session:false作为参数,但是在server.js上,它一直在吐出错误,我需要使用express-session。 server.js var express = require('express'); var path = require('path'); var logger = require('morgan'); var bodyParser = require('body-parser'); var […]

删除API后调用csrf保护

我想从我的Express 3.0应用程序中删除csrf,因为我不需要它。 我使用oauth来validation客户端。 当使用express.csrf()时,是否将中间件列入白名单?

Google OAuth2:缺less必需的参数:grant_type

我已经尝试了一切,阅读每个StackOverflowpost在这个问题上,但我仍然无法得到它的工作。 有趣的是,通过DHC REST API客户端(Google Chrome应用程序)发送POST请求时,我能够获得200 OK响应。 var url = 'https://accounts.google.com/o/oauth2/token'; var params = querystring.stringify({ grant_type: 'authorization_code', code: req.body.code, client_id: req.body.clientId, client_secret: 'HIDDEN', redirect_uri: req.body.redirectUri }); params = querystring.unescape(params); // doesn't work with or without string escaping request.post(url + '?' + params, function(error, response, body) { console.log(body); });

如何在Node中发送OAuth请求

我想访问node.js中的WS REST API。 我有oauth_consumer_key和oauth_token以及API端点。 oauth_signature_method是HMAC-SHA1。 如何在Node中发送OAuth请求? 有没有一个模块/库来生成请求标头? 我期望的是一个function,如: var httprequest = createRequest(url, method, consumer_key, token); 更新10/14/2012。 添加解决scheme。 我使用下面的代码。 var OAuth = require('oauth').OAuth; consumer = new OAuth('http://term.ie/oauth/example/request_token.php', 'http://term.ie/oauth/example/access_token.php', 'key', 'secret', '1.0', null, 'HMAC-SHA1'); // Get the request token consumer.getOAuthRequestToken(function(err, oauth_token, oauth_token_secret, results ){ console.log('==>Get the request token'); console.log(arguments); }); // Get the authorized access_token with the […]

使用passport.js将本地策略连接到另一个(Facebook,Twitter,Google等)

我有一个node.js应用程序使用通行证(与一个修改的passport本地login策略)进行身份validationpipe理。 我想允许用户使用护照策略连接他们的社交networking帐户,但是从我所看到的现有身份validation(在请求对象上)在新的身份validation时被覆盖。 我应该如何处理这个?

如何强制Angular在HTML5模式下向服务器发送请求?

我正在使用angular和nodejs来构build和web。 我在/homepath中加载Angular,其中/包含login和registry单。 这是我的angular度configuration: window.app.config(['$routeProvider', '$locationProvider', function($routeProvider,$locationProvider) { $locationProvider.html5Mode(true); $locationProvider.hashPrefix('!'); $routeProvider. when('/profile', { templateUrl: '/views/account.html', }). when('/edit', { templateUrl: '/views/edit.html', }). when('/home', { templateUrl: 'views/index.html' }). when('/signout', { templateUrl: 'views/signout.html' //on this view i load a controller which submits a form to /signout }). otherwise({ redirectTo: '/home' }); } ]); 在服务器端路由: app.get('/',function(){ res.render('index',{ user: req.user? req.user:'guest' […]

loginTwitter OAuth没有会话aka token_secret(AngularJS失败)

这是来自angularjs卫星例子的一条快速路线,实现了3条腿的OAuth与Twitter: /* |————————————————————————– | Login with Twitter |————————————————————————– */ app.get('/auth/twitter', function(req, res) { var requestTokenUrl = 'https://api.twitter.com/oauth/request_token'; var accessTokenUrl = 'https://api.twitter.com/oauth/access_token'; var authenticateUrl = 'https://api.twitter.com/oauth/authenticate'; if (!req.query.oauth_token || !req.query.oauth_verifier) { var requestTokenOauth = { consumer_key: config.TWITTER_KEY, consumer_secret: config.TWITTER_SECRET, callback: config.TWITTER_CALLBACK }; // Step 1. Obtain request token for the authorization popup. request.post({ url: requestTokenUrl, oauth: […]

passport-facebook-token返回InternalOAuthError:validation令牌时无法获取用户configuration文件

我有一个iOS应用程序,我使用Facebook APIlogin,我得到一个访问令牌作为回应。 现在我想使用这个令牌来validation我的后端服务器上的用户。 我使用Passport.js的passport-facebook-token策略。 var FacebookTokenStrategy = require('passport-facebook-token'); module.exports = function(app) { app.use(passport.initialize()); app.use(passport.session()); passport.use(new FacebookTokenStrategy({ clientID: '32424222424024', clientSecret: '3292e42148264c2817523232446187', callbackURL: "http://localhost:3000/auth/facebook/callback" }, function(accessToken, refreshToken, profile, done) { User.findOne({ facebookId: profile.id }, function (err, user) { console.log("facebook"); return done(err, user); }); } )); app.get('/auth/facebook', passport.authenticate('facebook-token'), function (req, res) { res.send(req.user? 200 : 401); } ); […]