Questions tagged «authentication»

身份验证是验证身份的过程。

30
Google OAuth 2授权-错误:redirect_uri_mismatch
在网站https://code.google.com/apis/console上,我已经注册了我的应用程序,将生成的Client ID:和Client Secret设置到我的应用程序,并尝试使用Google登录。不幸的是,我收到错误消息: Error: redirect_uri_mismatch The redirect URI in the request: http://127.0.0.1:3000/auth/google_oauth2/callback did not match a registered redirect URI scope=https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email response_type=code redirect_uri=http://127.0.0.1:3000/auth/google_oauth2/callback access_type=offline approval_prompt=force client_id=generated_id 此消息是什么意思,我该如何解决?我使用gem omn​​iauth-google-oauth2。

15
如何使用用户名和密码保护MongoDB
我想为我的MongoDB实例设置用户名和密码身份验证,以便任何远程访问都将要求输入用户名和密码。我从MongoDB网站尝试了该教程,并做了以下工作: use admin db.addUser('theadmin', '12345'); db.auth('theadmin','12345'); 之后,我退出并再次运行mongo。而且我不需要密码即可访问它。即使我远程连接到数据库,也不会提示我输入用户名和密码。 更新这是我最终使用的解决方案 1) At the mongo command line, set the administrator: use admin; db.addUser('admin','123456'); 2) Shutdown the server and exit db.shutdownServer(); exit 3) Restart mongod with --auth $ sudo ./mongodb/bin/mongod --auth --dbpath /mnt/db/ 4) Run mongo again in 2 ways: i) run mongo first …

9
JWT和OAuth身份验证之间的主要区别是什么?
我有一个使用JWT的无状态身份验证模型的新SPA。我经常被要求将OAuth用于身份验证流程,例如要求我为每个请求发送“承载者令牌”,而不是简单的令牌头,但是我确实认为OAuth比简单的基于JWT的身份验证复杂得多。主要区别是什么,我应该使JWT身份验证表现得像OAuth吗? 我还使用JWT作为XSRF-TOKEN来防止XSRF,但被要求将它们分开?我应该把它们分开吗?在这里的任何帮助将不胜感激,并可能会导致为社区制定一套准则。

2
了解护照序列化反序列化
您如何向外行解释Passport的序列化和反序列化方法的工作流程。 叫到哪里user.id去passport.serializeUser了? 我们passport.deserializeUser紧接着在工作流程中调用它吗? // used to serialize the user for the session passport.serializeUser(function(user, done) { done(null, user.id); // where is this user.id going? Are we supposed to access this anywhere? }); // used to deserialize the user passport.deserializeUser(function(id, done) { User.findById(id, function(err, user) { done(err, user); }); }); 我仍在努力寻找解决方案。我有一个完整的工作应用程序,没有遇到任何类型的错误。 我只是想了解这里到底发生了什么? …

3
SPA认证和会话管理最佳实践
使用Angular,Ember,React等框架构建SPA风格的应用程序时,人们认为什么是身份验证和会话管理的最佳实践?我可以考虑考虑解决该问题的几种方法。 假定API和UI具有相同的原始域,则对待它与使用常规Web应用程序进行身份验证没有区别。 这可能涉及到具有会话cookie,服务器端会话存储以及可能经过身份验证的Web UI可以访问以获取当前用户信息以帮助进行个性化甚至可能确定客户端角色/功能的某些会话API端点。服务器当然仍然会执行保护访问数据的规则,UI只会使用此信息来定制体验。 像使用公共API的任何第三方客户端一样对待它,并使用类似于OAuth的某种令牌系统进行身份验证。客户端UI将使用此令牌机制来验证对服务器API的每个请求。 我在这里并不是真正的专家,但是对于大多数情况来说,#1似乎已经足够了,但是我真的很想听听一些更有经验的意见。


22
如何使用BASIC身份验证从网站注销用户?
如果用户使用基本身份验证,是否可以从网站注销用户? 终止会话是不够的,因为一旦用户通过身份验证,每个请求都包含登录信息,那么下次用户使用相同的凭据访问该网站时,该用户便会自动登录。 到目前为止,唯一的解决方案是关闭浏览器,但是从可用性的角度来看,这是不可接受的。

14
node.js的用户身份验证库?
是否存在node.js的现有用户身份验证库?特别是,我正在寻找可以对用户进行密码身份验证的东西(使用自定义后端身份验证数据库),并将该用户与会话相关联。 在编写身份验证库之前,我认为我会看看人们是否知道现有的库。通过Google搜索找不到任何明显的内容。 -Shreyas

7
为什么AuthorizeAttribute重定向到登录页面以进行身份​​验证和授权失败?
在ASP.NET MVC中,您可以使用标记控制器方法AuthorizeAttribute,如下所示: [Authorize(Roles = "CanDeleteTags")] public void Delete(string tagName) { // ... } 这意味着,如果当前登录的用户不具有“ CanDeleteTags”角色,则将永远不会调用控制器方法。 不幸的是,对于失败,AuthorizeAttribute返回HttpUnauthorizedResult,始终返回HTTP状态代码401。这将导致重定向到登录页面。 如果用户未登录,则非常合理。但是,如果用户已经登录,但没有所需的角色,则将他们发送回登录页面会造成混乱。 似乎AuthorizeAttribute将认证和授权混为一谈。 这似乎是对ASP.NET MVC的疏忽,还是我错过了一些东西? 我不得不煮熟DemandRoleAttribute将两者分开。当用户未通过身份验证时,它将返回HTTP 401,并将其发送到登录页面。当用户登录但没有所需角色时,它将创建一个NotAuthorizedResult。当前,这将重定向到错误页面。 当然我不必这样做吗?

5
当“隐式”流程运行良好时,为什么OAuth2中会有“授权码”流程?
通过“隐式”流程,在资源所有者(即用户)授予访问权限后,客户端(可能是浏览器)将获得访问令牌。 但是,通过“授权码”流程,客户端(通常是Web服务器)仅在资源所有者(即用户)授予访问权限后才获得授权码。然后,客户端使用该授权代码对API进行另一个调用,将client_id和client_secret与授权代码一起传递,以获得访问令牌。一切都在这里描述得很好。 两种流具有完全相同的结果:访问令牌。但是,“隐式”流程要简单得多。 问题:当“隐式”流接缝很好时,为什么还要打扰“授权码”流?为什么不同时对Web服务器使用“隐式”? 对于提供商和客户而言,这都是更多的工作。

13
在Subversion中,我可以不是我的登录名吗?
我想知道如何Subversion更改更改的名称。 我才刚开始使用Subversion。我目前正在使用它在XP笔记本电脑上对版本控制代码进行版本控制,在该笔记本电脑中,我总是以妻子的名字登录。我希望Subversion数据库以我的名字显示更改。 稍后,我将复制数据库,以便整个房子都可以访问它。我的妻子使用办公室计算机,她总是以我的名字登录。我可能会对其进行设置,以便它自动签入修改过的文档……最好以她的名字。 最终,我可能会在Linux计算机上以另一个用户名使用它。 有什么方法可以修改用户环境以更改Subversion调用您的用户名?我希望像设置SVN_USERNAME='Mark'这样的东西会被覆盖,但是通常会得到名称。 更新:看起来--usernameMichael所引用的标志确实可以更改所报告的名称"svn stat",即使对于本地文件:存储库也是如此。另外,它很粘,因此您无需在下一个命令中指定它。我什至重新启动,它仍然使用"--username"以前启动时的值。

5
您在哪里存放盐串?
在对数据库存储的密码进行哈希处理时,我一直使用正确的按条目输入的盐字符串。出于我的需要,将盐存储在数据库中散列密码旁边一直很好。 但是,有些人建议将盐与数据库分开存储。他们的论据是,如果数据库遭到破坏,攻击者仍然可以构建一个彩虹表,并考虑到特定的盐字符串,以便一次破解一个帐户。如果该帐户具有管理员权限,那么他甚至不需要破解任何其他帐户。 从安全角度来看,将盐存储在其他位置是否值得?考虑在同一台计算机上具有服务器代码和数据库的Web应用程序。如果将盐类存储在该计算机上的平面文件中,则很有可能如果数据库遭到破坏,则盐类文件也会被破坏。 有什么建议的解决方案吗?

6
如何检查用户是否已登录(如何正确使用user.is_authenticated)?
我正在看这个网站,但似乎无法弄清楚该怎么做,因为它不起作用。我需要检查当前站点用户是否已登录(已认证),并且正在尝试: request.user.is_authenticated 尽管确定用户已登录,但它仅返回: > 我能够执行其他请求(来自上述网址的第一部分),例如: request.user.is_active 这将返回成功的响应。

10
将密钥对添加到现有EC2实例
我获得了AWS Console的访问权,该账户具有运行中的两个实例,但无法关闭(在生产中)。但是,我想获得对这些实例的SSH访问权限,是否可以创建一个新的Keypair并将其应用于实例,以便我可以进行SSH?目前,无法获得用于创建实例的密钥对的现有pem文件。 如果这不可能,那么还有其他方法可以进入实例吗?

6
REST身份验证方案的安全性
背景: 我正在为REST Web服务设计身份验证方案。这并不是“真正”需要安全的(它更多是一个个人项目),但我想使其与练习/学习经验一样安全。我不想使用SSL,因为我不想麻烦,而在大多数情况下,它不需要设置它。 这些SO问题对于帮助我入门特别有用: RESTful身份验证 保护REST API /网络服务的最佳做法 最佳SOAP / REST / RPC Web API的示例?你为什么喜欢他们?那他们怎么了? 我正在考虑使用Amazon S3身份验证的简化版本(我喜欢OAuth,但对于我的需求而言似乎太复杂了)。我在请求中添加了服务器提供的随机生成的随机数,以防止重放攻击。 要解决这个问题: S3和OAuth都依赖于对请求URL以及一些选定的标头进行签名。他们都没有在 POST或PUT请求的请求主体上签名。这难道不容易受到中间人攻击,这种中间人攻击会保留url和标头并用攻击者想要的任何数据替换请求正文? 似乎我可以通过在请求的字符串中包含请求主体的哈希值来防止这种情况发生。这样安全吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.