【问题标题】:GAE authenticate to a 3rd party siteGAE 向第 3 方站点进行身份验证
【发布时间】:2010-01-02 05:47:09
【问题描述】:

我需要安全地向第三方站点进行身份验证以进行 SSL REST api 调用。我的 API 调用部分正在工作,但我想将第三方凭据保存在我的应用引擎数据存储中,或者可能保存在其他地方?我不知道我该怎么做。

SSL 调用如下所示:

credentials = base64.encodestring('%s:%s' % (username, password))[:-1]
request     = urllib2.Request(accounts_url)
request.add_header("User-Agent", user_agent)
request.add_header("Authorization", "Basic %s" % credentials)

stream   = urllib2.urlopen(request)
response = stream.read()
stream.close()

这意味着我的应用很遗憾需要知道明文密码。对我来说,对它进行 AES 加密(不是哈希 - 可逆)是没有意义的,因为我的应用程序也需要知道解密密钥,所以如果我的应用程序受到威胁,则不会添加存储明文的真正安全性。

【问题讨论】:

  • “希望最好”是什么意思?您担心/想要预防哪些情况/问题?
  • 我相信他担心如果有人要访问他的数据存储,他们也会访问第三方站点。
  • 我所知道的是,安全性让我胆战心惊,我不知道我需要担心什么。如果我的应用程序存在泄漏凭据的错误怎么办?谷歌搜索“第三方身份验证”和其他此类搜索没有发现任何有用的信息。

标签: security google-app-engine authentication passwords


【解决方案1】:

我认为这里最安全的策略是向客户下注。使用 GAE 作为来自客户端的跨域请求的代理。我假设第三方主机有某种令牌或会话 cookie,您可以在返回的路上拦截它们。

存储纯文本密码很可怕。

【讨论】:

    猜你喜欢
    • 2012-05-19
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 2011-06-19
    • 2011-04-30
    相关资源
    最近更新 更多