【问题标题】:OAuth2 - Is it safe to return the access-token to the user?OAuth2 - 将访问令牌返回给用户是否安全?
【发布时间】:2014-01-19 18:08:22
【问题描述】:

我是 OAuth(1 和 2)的新手,我正在开发一个移动应用程序的服务器端,该应用程序有一个带有“从 Google 帐户填写详细信息”按钮的表单。我不需要任何远程身份验证\授权。

来自here(清单2)我知道服务器应该有一个控制器:

在这个阶段,我的服务器应该能够使用访问令牌从https://www.googleapis.com/plus/v1/people/me 获取用户的详细信息 - 然后将详细信息返回给用户的应用程序,以填写其表单。

我(服务器开发人员)是否允许偷懒并将访问令牌返回给用户,而不是返回其详细信息?即,让用户应用向https://www.googleapis.com/plus/v1/people/me 发出请求。

这将允许将来在不更改我服务器上的代码的情况下为客户端应用程序提供更多功能。

谢谢

【问题讨论】:

  • 您希望实施哪个 oauth2 流程?隐式流程,应用程序直接与身份验证服务器聊天,或者您的服务器代表应用程序执行的代码授权?
  • 我不需要我的服务器代表应用程序执行操作。我是 oauth2 的新手 - 我将搜索隐式流程。

标签: .net security oauth oauth-2.0


【解决方案1】:

出于多种原因,您的服务器不应将其访问令牌公开给客户端应用程序。

  1. OAuth 协议的重点是在不暴露您自己的凭据(例如标识符、密码等)的情况下为第三方提供安全和有限的访问权限。你不应该忽视这一点。

  2. 向特定的 OAuth 客户端颁发令牌,在您的情况下,它是服务器。共享令牌不会改变这一点。仍然代表您的服务器而不是客户端应用访问用户详细信息,如果出现任何问题,您将负责。

  3. 访问令牌应该是短暂的,它通常会在几分钟内过期。除非客户端立即获取数据,否则它是没有用的。刷新令牌被用作永久授权,但您永远不应该共享它们,除非您有意破坏您的服务器安全性。

【讨论】:

    猜你喜欢
    • 2020-05-25
    • 2017-08-28
    • 2019-06-13
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    • 2016-01-19
    • 2015-10-11
    • 2018-02-28
    相关资源
    最近更新 更多