Tag: 基本authentication

node.js – everyauth – Facebook API和会话处理

我运行一个node.js服务器应用程序,使用everyauth作为我的身份validationscheme,并尝试从我的服务器访问Facebook API。 一旦用户login(通过使用Facebook模块的everyauth),我目前处理这种方式是: var oauth = everyauth.facebook.oauth; oauth.get('https://api.facebook.com/method/fql.multiquery?format=json&queries=' + multiquery, req.session.auth.facebook.accessToken, function (err, data) { // do stuff here }); 这工作最初但几分钟后,通常约10米的不活动,我开始从Facebook API获得过期的令牌响应: Error validating access token: Session has expired at unix time… 在阅读了一些Facebook文档之后 ,似乎大多数访问令牌都应该持续默认的2小时,所以我想知道我是不是以正确的方式构buildAPI调用。 任何build议/想法的欢迎,谢谢! 编辑: 只是多一点的信息,从错误调用返回的过期unix时间确实less于当前时间,只是不知道为什么会这么短。 在此期间,我会做更多的debugging…

Node.js Passport在页面加载上获得Facebook会话

我有护照Facebook Strategy工作正常。 然而,阅读facebook文件,我偶然发现: FACEBOOK DOCS 使用查询string设置时需要特别注意的事项: 如果您想在App Center中使用服务器端身份validationstream程,请确保在交换访问令牌的代码时正确传递redirect_uri参数。 您应该将您的redirect_uri参数设置为您网站的点击后到达url。 在大多数情况下,URL将如下所示: http://www.example.com/?fb_appcenter=1&fb_source=search&code=CODE_HERE因此您应该将您的redirect_uri设置为相同的值。 请确保此逻辑是dynamic的,因为附加到您的点击后到达url的查询参数可能会更改。 在应用程序中心有一个visit websitebutton,将用户发送到应用程序,并在进程中login。我怎样才能做到这一点与护照? 我必须将查询string添加到callbackURL吗? 我猜这是同样的问题,但我也需要类似于facebook javascript SDK提供的FB.getLoginStatus()来链接用户,如果他们的facebook打开并且以前添加了该应用程序。 这一切是由passport提供的任何方式吗?

validation在NodeJS中使用php crypt()生成的哈希?

我有一个运行在其上的锂框架的PHP 5.3 Web服务器。 我有CRYPT_BLOWFISH生成的密码哈希值: public static function hash($password, $salt = null) { return crypt($password, $salt ?: static::salt()); } 他们得到这个检查: public static function check($password, $hash) { return String::compare(crypt($password, $hash), $hash); } 我正在寻找使我能够检查和生成类似哈希值的NodeJS脚本: 我已经尝试了这一点(现在检查): var c = crypto.createCipher('bf-cfb', password); var res = c.update(hash); res += c.final('utf8'); 哪里(不是确切的变数,但看起来像这样): var hash = '$2a$10$nA5CV2XWJGn0cbKxSHU3GOp29ypHNVJDglJ0iNFx2zFkfy3mrsRZK'; // from php var salt = […]

如何以编程方式login到使用Google身份validation的网站

我目前正试图找出如何使用仅通过Google帐户进行身份validation的NodeJSlogin到Jabbr站点。 有一些简单的方法来做到这一点? 我试过使用njabbr软件包,但目前不支持Google身份validation。 我所search到的大部分内容是关于在服务器上实现login的,而且我已经看了一下google-api-nodejs-client,但是当我想要做的就是用客户端login时,对我来说没什么意义。

meteor单一login

我需要单点login作为Meteor应用程序需求的一部分。 我曾经尝试使用ldapjs在meteor上使用npm模块,但没有运气。 有任何想法吗? 我还没有尝试使用护照…

Ember + Sails + Websockets用户authentication

我使用Ember Sails适配器通过websockets加载我的Ember模型。 这一切都很好。 现在,我从来没有真正使用过Ember的用户身份validation,我有点挣扎。 使用Sails Auth生成器我创build了后端身份validation。 当我注册一个用户并成功login后端时,会记住哪个用户已经login(由于创build的cookie)。 我有几个模型的小游戏: App.User = DS.Model.extend({ username: DS.attr(), email: DS.attr(), cards: DS.hasMany('card') }); App.Game = DS.Model.extend({ gameStatus: DS.attr(), cards: DS.hasMany('card') }); App.Card = DS.Model.extend({ clientSeed: DS.attr(), game: DS.belongsTo('game'), user: DS.belongsTo('user') }); 我怎样才能确保我连接我的后端用户与Ember? 最好使用websockets(socket.io)。

Firebase写作与安全规则

我有一个与这样的安全性的Firebase数据库的Node应用程序: { "rules": { ".read": true, "albums": { ".write": "auth != null", } } } 我像这样login: var firebaseTokenGenerator = require('firebase-token-generator'), firebase = require('firebase'); var tokenGenerator = new firebaseTokenGenerator('my key'); var token = tokenGenerator.createToken(); var albumRef = new firebase('https://glowing-fire-8113.firebaseio.com/albums'); albumRef.auth(token, function(err) { if(err) { console.log("Authentication failed!"); } else { console.log("Login succeeded!"); } }); 我得到“login成功!” 打印到控制台。 然后,我稍后调用这个函数: […]

何时生成ssl密钥和证书 – 出于安全原因

我正在寻找生成一个privatekey.pem和certificate.pemauthentication在一个nodejs服务器。 我知道这些可以通过OpenSSL生成 ,然后保存到一个目录中,但我也发现,按需生成密钥和证书。 这个问题的答案表明,或者没问题 ,但更多的人更喜欢OpenSSL的方式。 使用pem听起来会更容易一些,但是有没有什么安全的原因,为什么我不能按照这种方式生成密钥和证书?

SPA(angular度)身份validation与OAuth2提供商的独立域上的API和身份validation服务器; Google,Facebook

我有一个angular度的应用程序运行在独立的域比我的api / auth服务器。 对于本地的例子:我的angular度应用程序是在localhost:9000,我的api / auth服务器是在localhost:3000。 或者,如果这是公开的,例如在CDN上的angular色。 我想使用服务器/代码stream与Google和Facebook进行身份validation。 我见过的例子使用窗口popup窗口或cookies。 由于CORS问题,Cookies不可能出现问题,我希望这个Web API也可以在移动应用程序中使用。 我发现Sattelizer,这工作良好,但我正在寻找与护照一起工作的解决scheme。 本质上是一种用于交换访问令牌的授权代码(通过angular度应用程序传递)的通行证策略,而不是直接从后端请求访问令牌。 如果这不存在,我可能会尝试做一个。

如何识别Socket.IO(通过socketio-auth)成功的身份validation?

我想借助Socket.IO和socketio-auth在Node.js服务器中实现Websocket身份validation。 我的testing平台是一个简单的聊天室,客户端需要向服务器发送密码才能获得join的权限。 我通过socketio-auth来做到这一点,如下所示: 客户端: socket.on('connect', function(){ socket.emit('authentication', {client: "client", password: "test"}); }); 服务器端: require('socketio-auth')(io, {authenticate: function(data, cb){ cb(null, data.password == 'test');} }) 这按预期工作。 因为它允许客户端join。 如果我发送了错误的密码,则连接被拒绝。 但是,我不知道如何从服务器收集数据,告诉客户端它没有权限连接。 我现在得到的是客户端控制台上的一个POST,说'400错误的请求'。 客户端如何检测到它被拒绝访问? 谢谢, 一月