我必须实现安全的REST风格的Web服务 。 我已经做了一些使用谷歌的研究,但我卡住了。 选项: TLS(HTTPS)+ HTTP基本(pc1oad1etter) HTTP摘要 双腿 OAuth 基于Cookie的方法 客户端证书(Tom Ritter和这里 ) 使用HMAC签名的请求和有限的生命周期 有更多可能的select考虑? 如果OAuth那么什么版本? 它甚至重要吗? 从迄今为止我读到的OAuth 2.0与无记号(没有签名)似乎是不安全的 。 我发现了另一篇关于基于REST的authentication的非常有趣的文章。 保护您的REST API …正确的方法
我正在使用passportJS,我想提供更多的req.body.username和req.body.password到我的身份validation策略(passport-local)。 我有3个表单字段: username , password ,& foo 我如何从本地策略访问req.body.foo ,如下所示: passport.use(new LocalStrategy( {usernameField: 'email'}, function(email, password, done) { User.findOne({ email: email }, function(err, user) { if (err) { return done(err); } if (!user) { return done(null, false, { message: 'Unknown user' }); } if (password != 1212) { return done(null, false, { message: 'Invalid password' }); […]
这个问题一直困扰着我。 在Linux上,当被要求input密码时,如果您的input是正确的,那么它立即检查,几乎没有任何延迟。 但是,另一方面,如果input错误的密码,则检查时间会更长。 这是为什么? 我在所有曾经尝试过的Linux发行版中观察到这一点。
Facebook是一个OpenID提供商吗? 我知道他们是一个OpenID的支持者,但他们是否允许人们通过OpenID与他们的Facebook凭据authentication与其他网站?
说我有一个Android应用程序,连接到一个.net api接收/设置数据。 我的困惑是关于如何首次注册/login用户,并在每次向api发出请求时进行身份validation。 如果我只使用基于用户名/密码的身份validation将不够安全? 而我不能保存该用户名/密码在设备当然是安全的原因? 我应该在注册时为每个用户颁发一个GUID,把它保存在他们的设备中,并在api请求期间每次检索? 还有哪些其他模式可用,哪些是最有效和最安全的,我只需要一个stream程就可以了。 有人可以告诉我什么方法着名的Android应用程序喜欢Facebook , foursquare , twitter使用来validation从他们的移动应用程序到他们的服务器的每个请求? 对不起,如果这不是一些公共信息。
我怎样才能结合passport本地返回一个成功的身份validationJWT令牌? 我想使用node-jwt-simple并查看passport.js我不知道如何去做。 var passport = require('passport') , LocalStrategy = require('passport-local').Strategy; passport.use(new LocalStrategy( function(username, password, done) { User.findOne({ username: username }, function(err, user) { if (err) { return done(err); } if (!user) { return done(null, false, { message: 'Incorrect username.' }); } if (!user.validPassword(password)) { return done(null, false, { message: 'Incorrect password.' }); } return done(null, […]
我正在尝试使用Google身份validation器应用程序生成的一次性密码。 Google身份validation器的function Google Authenticator基本上实现了两种types的密码: HOTP – 基于HMAC的一次性密码,这意味着每次通话都会改变密码,符合RFC4226 , TOTP – 基于时间的一次性密码,每30秒改变一次(据我所知)。 Google身份validation器也可在此处以开放源代码的forms获得: code.google.com/p/google-authenticator 当前的代码 我正在寻找现有的解决scheme来生成HOTP和TOTP密码,但没有find太多。 我的代码是负责生成HOTP的以下片段: import hmac, base64, struct, hashlib, time def get_token(secret, digest_mode=hashlib.sha1, intervals_no=None): if intervals_no == None: intervals_no = int(time.time()) // 30 key = base64.b32decode(secret) msg = struct.pack(">Q", intervals_no) h = hmac.new(key, msg, digest_mode).digest() o = ord(h[19]) & 15 h = (struct.unpack(">I", […]
SAML和联合login与OAuth有什么区别? 哪个解决scheme更有意义,如果一家公司想要使用第三方Web应用程序,而且还希望单点login并成为身份validation权威?
在Symfony 2模板(使用Twig)中,如何有效检查用户是否未login? 我不想使用ROLE检查。 我想要一个简单的方法来检查用户是否没有login。 我知道,比较app.user.username与anon作品,但是这只是不适合我。
我在我的网站上实现了OpenID,但是我很难find一个OpenID提供者URL列表。 我以为这会很容易find,但我已经在网上search,只发现了一小部分,主要是意外。 是否有资源列出可用的提供者及其authenticationURL? 编辑:这是我迄今为止发现的。 我没有尝试所有这些,所以让我知道他们是否有错。 StackExchange https://openid.stackexchange.com Google https://www.google.com/accounts/o8/id – 2014年5月已弃用 – 2015年4月closures 雅虎 https://me.yahoo.com Flickr http://www.flickr.com/username 美国在线 http://openid.aol.com/username Blogspot https://www.blogspot.com/ LiveJournal http://username.livejournal.com/ WordPress的 https://username.wordpress.com/ VerisignLabs https://pip.verisignlabs.com/ – 2016年9月closures MyOpenID https://www.myopenid.com/ – 将于2014年2月closures MyVidoop https://myvidoop.com/ Technorati https://technorati.com/people/technorati/username/ PayPal https://www.x.com/developers/paypal/documentation-tools/quick-start-guides/standard-openid-integration-paypal-access