Security 不使用OpenID将密码存储到API的安全方法?
我问了一段时间,但所有的答案都是提供OpenID,这很好,但它不适用于需要身份验证但不使用它的服务(如EventBrite) 假设我想创建一个应用程序,列出event brite中的事件及其分析(eventbrite包括)。任何人都可以注册此服务以列出他们的活动。但是由于EventBrite没有OpenID进行身份验证,我需要以某种方式获得EventBrite的用户登录名和密码 一些可能的解决办法是:Security 不使用OpenID将密码存储到API的安全方法?,security,passwords,eventbrite,confidentiality,Security,Passwords,Eventbrite,Confidentiality,我问了一段时间,但所有的答案都是提供OpenID,这很好,但它不适用于需要身份验证但不使用它的服务(如EventBrite) 假设我想创建一个应用程序,列出event brite中的事件及其分析(eventbrite包括)。任何人都可以注册此服务以列出他们的活动。但是由于EventBrite没有OpenID进行身份验证,我需要以某种方式获得EventBrite的用户登录名和密码 一些可能的解决办法是: 在YAML中存储凭据。容易破解 让用户在我的网站上的表单中输入凭据,我将凭据保存到数据库中,并
那边是什么?我错过了什么?使用#3并保存cookies可以吗(但仍然需要用户通过我发送给Eventbrite的表单提交他们的电子邮件/密码)?什么是可接受的问题解决方案?没有一种安全的方法可以做到这一点。你可以采取变通办法,但仅此而已
考虑到您的情况,存储cookie是一种更好的方法。在整个过程中使用HTTPS,甚至在您的网站上。但这并不理想,您和您的用户应该意识到这一点。大多数网站只支持使用原始明文密码直接登录,因此您也必须获取、存储和提供该密码。我永远都不会相信你。 您的概念的问题在于,您需要将密码提供给第三方。解决方案是不涉及第三方,例如,我的浏览器非常擅长为我自动存储和填写密码(我的硬盘也有密码保护)。此外,还有数十款其他密码钱包应用程序。我用你的服务订阅不会有任何收获
在进入这样的行业之前,你将成为1的目标。Facebook、谷歌对安全性的担忧令人难以置信,他们花费了大量的时间、金钱和精力来保证登录的安全。你们有相同的资源吗?那你就是更好的目标了。此外,通过黑客攻击您的服务,他们会立即获得多个帐户和用户密码,还可以查看谁总是重复使用其密码。对于使用Eventbrite API,我建议确保所有连接都通过SSL,并且您使用用户密钥而不是用户名和密码进行身份验证 有关Eventbrite API身份验证的更多信息,请参见: 登录后,用户可以在此处找到其用户密钥:
这将防止通过网络截获用户名和密码信息,或从本地数据存储读取这些信息。Eventbrite最近发布了一份新的文档,描述了这些信息。 我建议使用我们的,默认情况下,它将用户的身份验证令牌存储在浏览器的本地存储中。 由于身份验证令牌存储在用户的浏览器中,并且被其他域阻止访问,因此不太可能存在任何安全泄漏
此身份验证方案完全避免了对电子邮件和密码组合的需要。我怀疑您是否能够获取和存储不属于您的域的cookie。如果你能做到这一点,每个人都可以劫持它。他正在给远程网站打一个服务器对服务器的电话,这样他就可以得到cookie。您提到的限制仅适用于浏览器,以防止一个网站读取另一个网站的数据/cookie。谢谢,这正是我试图描述的用例:)。只要消费者意识到我们正在这样做,并且我们有原则和道德,这应该是好的。如果有人从数据库中得到了cookies,他们能做些什么吗?如果他们得到了cookies,他们可以做你正在做的任何事情。它有其自身的风险,但比在数据库中存储密码要好。Cookies至少会过期。