Questions tagged «authentication»

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

5
为什么要使用API​​密钥和机密?
我遇到了许多API,这些API为用户提供了API密钥和秘密。但是我的问题是:两者之间有什么区别? 在我眼中,一把钥匙就足够了。说我有一把钥匙,只有我和服务器知道。我使用此密钥创建HMAC哈希并进行API调用。在服务器上,我们再次创建HMAC哈希并将其与发送的哈希进行比较。如果相同,则对呼叫进行身份验证。 那么为什么要使用两个键呢? 编辑:还是该API密钥用于查找API机密?

11
保护网站管理员部分的最佳做法是什么?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 8年前关闭。 改善这个问题 我想知道人们对确保网站的“管理”部分安全的最佳做法,特别是从身份验证/访问的角度来看。 当然,有一些显而易见的事情,例如使用SSL和记录所有访问权限,但是我想知道人们在这些基本步骤的哪些位置设置了标准。 例如: 您是否仅依靠与普通用户相同的身份验证机制?如果没有,那该怎么办? 您是否在同一“应用程序域”中运行“管理”部分? 您采取什么步骤来使管理部分未被发现?(或者您拒绝整个“模糊”的事情) 到目前为止,答复者的建议包括: 在每个管理员密码检查中引入人为的服务器端暂停,以防止暴力攻击[Developer Art] 使用同一数据库表为用户和管理员使用单独的登录页面(以停止XSRF和会话窃取授予对管理区域的访问权限)[Thief Master] 还考虑将Web服务器本机身份验证添加到管理区域(例如,通过.htaccess) [Thief Master] 在多次失败的管理员登录尝试之后,请考虑阻止用户IP [Thief Master] 管理员登录尝试失败后添加验证码[Thief Master] 为用户和管理员(例如,不要特别对待管理员)提供同样强大的机制(使用上述技术)[Lo'oris] 考虑二级身份验证(例如,客户端证书,智能卡,卡空间等)[JoeGeeky] 仅允许从受信任的IP /域访问,如果可能,将检查添加到基本HTTP管道(例如,通过HttpModules)。[JoeGeeky] [ASP.NET]锁定IPrincipal和Principal(使其不可变且不可枚举)[JoeGeeky] 联邦权利提升-例如,当任何管理员的权限升级时,通过电子邮件发送给其他管理员。 [JoeGeeky] 考虑管理员的细粒度权限-例如,而不是基于角色的权限,而是为每个管理员定义个别操作的权限[JoeGeeky] 限制管理员的创建-例如,管理员不能更改或创建其他管理员帐户。为此,请使用锁定的“超级管理员”客户端。[JoeGeeky] 考虑客户端SSL证书或RSA类型的密钥卡(电子令牌)[Daniel Papasian] 如果使用cookie进行身份验证,则将单独的cookie用于管理页面和普通页面,例如,将admin部分放在不同的域中。[丹尼尔·帕帕斯人] 如果可行,请考虑将管理站点保留在公共互联网之外的专用子网中。[约翰·哈索克] 在网站的管理员/正常使用环境之间移动时,请重新颁发身份验证/会话票证[Richard JP Le Guen]

17
跨子域的PHP会话
我正在尝试设置以下内容: auth.example.com sub1.example.com sub2.example.com 如果用户访问sub1.example.com或sub2.example.com且他们尚未登录,则他们将被重定向到auth.example.com并可以登录。 sub1.example.com和sub2.example.com是两个独立的应用程序,但使用相同的凭据。 我尝试在php.ini中设置以下内容: session.cookie_domain = ".example.com" 但它似乎并未将信息从一个域传递到另一个域。 [编辑] 我尝试了以下方法: sub1.example.com/test.php session_set_cookie_params(0, '/', '.example.com'); session_start(); print session_id() . "<br>"; $_SESSION['Regsitered'] = 1; echo '<a href="http://auth.example.com/test.php">Change Sites</a>' auth.example.com/test.php session_set_cookie_params(0, '/', '.example.com'); session_start(); print session_id() . "<br>"; $_SESSION['Checked'] = 1; print_r($_SESSION); 会话ID完全相同,但是当我转储$_SESSION变量时,它不会显示两个键,而不会显示我在每个域下设置的任何键。

5
.NET Core身份服务器4身份验证VS身份身份验证
我试图了解在ASP.NET Core中进行身份验证的正确方法。我看了几个资源(其中大多数已过时)。 微软身份的简单实现 ASP.Core身份验证简介 MSDN身份简介 有人提供替代性解决方案,说明使用基于云的解决方案(例如Azure AD)或使用IdentityServer4并托管我自己的令牌服务器。 在旧版本的.Net中,身份验证的一种较简单形式是创建自定义原则,并在其中存储其他身份验证用户数据。 public interface ICustomPrincipal : System.Security.Principal.IPrincipal { string FirstName { get; set; } string LastName { get; set; } } public class CustomPrincipal : ICustomPrincipal { public IIdentity Identity { get; private set; } public CustomPrincipal(string username) { this.Identity = new GenericIdentity(username); } …

6
在哪里可以找到OpenID提供程序URL列表?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 2天前关闭。 改善这个问题 我已经在网站上实现了OpenID,但很难找到OpenID提供程序URL的列表。我以为这很容易找到,但是我已经在网上搜寻了,但发现的却很少,主要是偶然的。 是否有资源列出可用的提供程序及其身份验证URL? 编辑:这是我到目前为止发现的。我还没有尝试全部,所以请让我知道它们是否有误。 StackExchange https://openid.stackexchange.com Google https://www.google.com/accounts/o8/id-2014年 5月弃用-2015年4月关闭 雅虎 https://me.yahoo.com Flickr http://www.flickr.com/username AOL 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月关闭 MyOpenID https://www.myopenid.com/-将于2014年2月关闭 MyVidoop https://myvidoop.com/ Technorati https://technorati.com/people/technorati/username/ 贝宝 https://www.x.com/developers/paypal/documentation-tools/quick-start-guides/standard-openid-integration-paypal-access

9
如何在身份验证代理后面的Windows上使用pip
我的计算机在Windows服务器上的代理后面运行Windows(使用活动目录),但我不知道如何使用它pip(在python3中)。我尝试使用--proxy,但仍然只是超时。我也尝试过设置较长的超时时间(60s),但这没什么区别。我的代理设置是正确的,然后将它们与我在TortoiseHG中成功使用的设置进行了比较以确保。 有没有其他人知道我可以尝试的技巧,或者在pipWindows代理方面有一些限制吗? 更新:我的失败尝试涉及搜索pypi。我刚刚尝试过实际安装某些东西,但它确实起作用。搜索仍然失败。这是否表明存在错误pip或它们的工作方式不同?

9
密码哈希的非随机盐
更新:我最近从这个问题中学到,在下面的整个讨论中,我(而且我相信其他人也这样做)有点令人困惑:我一直称其为Rainbow表的实际上是一个哈希表。彩虹桌是更复杂的生物,实际上是Hellman哈希链的变体。尽管我相信答案仍然是相同的(因为它不能归结为密码分析),但其中的某些讨论可能有些偏斜。 问题是:“ 什么是彩虹桌?如何使用它们? ” 通常,我总是建议使用加密强度高的随机值作为盐,与哈希函数(例如,密码)配合使用,例如,防止Rainbow Table攻击。 但是,实际上在密码学上盐必须是随机的吗?在这方面,任何唯一值(每个用户唯一,例如userId)是否足够?实际上,这将防止使用单个Rainbow Table破解系统中的所有(或大多数)密码... 但是缺乏熵真的会削弱哈希函数的加密强度吗? 注意,我不是在问为什么使用盐,如何保护它(不需要),使用单个常量哈希(不要)或要使用哪种哈希函数。 只是盐是否需要熵。 到目前为止,感谢所有人提供的答案,但我想重点介绍一下我不太熟悉的领域。对密码分析的主要影响-如果有人从密码数学PoV中获得一些输入,我将不胜感激。 另外,如果还没有考虑其他向量,那也是很好的输入(请参阅多个系统上的@Dave Sherohman点)。 除此之外,如果您有任何理论,想法或最佳实践,请提供证明,攻击场景或经验证据作为支持。甚至是可以接受折衷的合理考虑...我对这个问题的最佳实践(B资本P大写)很熟悉,我想证明这实际上提供了什么价值。 编辑:这里有一些非常好的答案,但是我认为正如@Dave所说的,归结于Rainbow Tables的常见用户名...以及可能不太常见的名称。但是,如果我的用户名是全局唯一的怎么办?对于我的系统而言,不一定是唯一的,但对于每个用户而言,例如,电子邮件地址。 没有动力为单个用户建立RT(正如@Dave所强调的那样,salt不会保密),并且这仍然可以防止群集。唯一的问题是,我在不同的站点上可能拥有相同的电子邮件和密码-但无论如何,萨尔特不会阻止它。 因此,可以归结为密码分析-是否需要熵?(我目前的想法是,从密码分析的角度来看这不是必需的,但是从其他实际原因出发。)

11
使用python + ldap针对活动目录进行身份验证
如何使用Python + LDAP针对AD进行身份验证。我目前正在使用python-ldap库,它所产生的只是眼泪。 我什至不能绑定执行简单的查询: import sys import ldap Server = "ldap://my-ldap-server" DN, Secret, un = sys.argv[1:4] Base = "dc=mydomain,dc=co,dc=uk" Scope = ldap.SCOPE_SUBTREE Filter = "(&(objectClass=user)(sAMAccountName="+un+"))" Attrs = ["displayName"] l = ldap.initialize(Server) l.protocol_version = 3 print l.simple_bind_s(DN, Secret) r = l.search(Base, Scope, Filter, Attrs) Type,user = l.result(r,60) Name,Attrs = user[0] if …

2
ASP.NET Core 2.0身份验证中间件
使用Core 1.1遵循@blowdart的建议并实现了自定义中间件: https://stackoverflow.com/a/31465227/29821 它像这样工作: 中间件运行了。从请求标头中提取一个令牌。 验证令牌,如果有效,则建立一个包含多个声明的身份(ClaimsIdentity),然后通过HttpContext.User.AddIdentity()添加它; 在使用services.AddAuthorization的ConfigureServices中,我添加了一个策略来要求由中间件提供的声明。 然后,在控制器/操作中,我将使用[Authorize(Roles =“中间件添加的某些角色”)] 这在2.0上适用,但是如果令牌无效(上面的步骤2)并且从不添加声明,则会得到“未指定authenticationScheme,并且未找到DefaultChallengeScheme”的信息。 所以现在我正在阅读auth在2.0中更改了: https://docs.microsoft.com/zh-cn/aspnet/core/migration/1x-to-2x/identity-2x 在ASP.NET Core 2.0中执行相同操作的正确方法是什么?我没有看到进行真正的自定义身份验证的示例。


18
Laravel:Auth :: user()-> id尝试获取非对象的属性
提交要添加用户的表单时,出现以下错误“试图获取非对象的属性”,该错误显然出现在第一行:Auth :: user()->以下内容的ID : $id = Auth::user()->id; $currentuser = User::find($id); $usergroup = $currentuser->user_group; $group = Sentry::getGroupProvider()->findById($usergroup); $generatedPassword = $this->_generatePassword(8,8); $user = Sentry::register(array('email' => $input['email'], 'password' => $generatedPassword, 'user_group' => $usergroup)); $user->addGroup($group); 有任何想法吗?我搜索了一段时间,看到的所有内容都说这应该工作正常。我的用户使用Sentry 2身份验证捆绑软件登录。

3
本地护照和node-jwt-simple
如何在成功进行身份验证时结合本地护照以返回JWT令牌? 我想使用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 …

14
Sourcetree远程:无效的用户名或密码
我试图用sourcetree推送到github,但是得到以下错误: git -c diff.mnemonicprefix = false -c core.quotepath = false push -v --tags origin live_version:live_version远程:无效的用户名或密码。致命:“ https://github.com/myname/myrepo/的身份验证失败”推送至 https://github.com/myname/myrepo 完成但有错误,请参见上文。 但是当我去 工具>身份验证>我的github帐户 然后单击“编辑”>“刷新oauth令牌” 。打开一个页面,我得到: 验证成功 SourceTree has been successfully authenticated. You may now close this page. 它始终有效,但突然停止了,我没有两因素验证。我尝试删除该帐户,然后再次将其添加无济于事。我如何才能使连接再次工作,以便将项目推送到github。 Sourcetree版本2.1.8.0

3
使用Facebook进行身份验证的网站的REST API
我们有一个网站,使用该网站登录和验证自己身份的唯一方法是使用Facebook(这不是我的选择)。首次登录Facebook时,会自动为您创建一个帐户。 现在,我们想为我们的网站创建一个iPhone应用程序,并为其他人创建一个公共API以使用我们的服务。 这个问题是关于如何通过app / API向我们的网站进行身份验证的,分为两个部分: 从API到仅使用Facebook OAuth作为身份验证方法的网站处理REST身份验证的正确方法是什么? 我已经阅读并研究了很多有关REST API身份验证的标准方法。我们不能使用基于HTTPS的基本身份验证之类的方法,因为这样的用户没有凭据。喜欢的东西,这似乎是仅适用于使用API验证的应用程序。 目前,我认为最好的方法是您点击我们API上的/ authorize端点,它重定向到Facebook OAuth,然后重定向回该站点并提供一个“令牌”,API的用户可以使用该令牌来认证后续要求。 对于我们创建的官方应用程序,我们不一定需要以相同的方式使用公共API。与我们的网站交谈并验证用户身份的最佳方法是什么? 我了解(我认为)如何使用API​​(公共)密钥和秘密(私有)密钥对使用我们的API的第三方应用程序进行身份验证。但是,当要验证使用该应用程序的用户时,当我们唯一必须验证用户身份的方法是Facebook时,我对如何进行验证感到困惑。 我感觉好像缺少了很明显的东西,或者不完全了解公共REST API的工作方式,因此,我们将不胜感激任何建议和帮助。

11
SVN更改用户名
我发现了很多有关如何更改特定修订版用户名的示例。 但是我需要的是:我使用工作伙伴的身份验证凭证进行了结帐,并且需要将其更改为我的凭证以用于将来的提交。 由于已经进行了许多更改,因此我不能仅凭我的凭证进行结帐... 有人熟悉吗?

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.