【问题标题】:Implementing OAuth for Desktop application为桌面应用程序实施 OAuth
【发布时间】:2014-04-14 17:41:05
【问题描述】:

对于桌面应用程序,我如何通过直接参与 OAuth 流程来获取访问令牌。

我不希望用户通过浏览器向我提供访问令牌。

其次,我如何知道应用程序的授权用户是什么 以及应用程序如何知道它是否被某人授权以及相同的访问令牌是什么?

【问题讨论】:

  • 这是 Facebook Oauth 问题还是 Google Oauth 问题?您试图访问 API 或让他们使用 Oauth2 登录您的应用程序?
  • 目前我想使用 Google oauth,我希望他们使用 oauth2 登录到我的应用程序
  • 如果没有他的授权,你不能真正使用用户的令牌。后一种授权过程正是“通过浏览器”。
  • 为什么需要网络浏览器来执行此操作?我们是否可以通过构建一个自定义应用程序来获取响应并提供有关 POST/GET 的请求。
  • 这取决于提供商来决定支持的 UI 是什么,因为他应该处理安全问题(欺骗、网络钓鱼等)。作为 google 用户,如果您向我展示自定义 UI,我如何确定您没有窃取我的密码? (事实上​​,我永远不会把我的密码放在自定义的所谓的谷歌 UI 中,我想要标准的,在浏览器中)

标签: oauth oauth-2.0 google-oauth


【解决方案1】:

“我如何通过直接参与 OAuth 流程来获取访问令牌。”

通过在服务器中存储刷新令牌

其次,我如何知道应用程序的授权用户是什么

用户只能在您的应用参与的情况下授权您的应用。因此,您只需将每个经过身份验证的用户存储在列表中

以及应用程序如何知道它是否已被某人授权以及相同的访问令牌是什么?

通过尝试使用 force-approval = false 进行身份验证;如果他通过了身份验证,您将获得一个访问令牌。如果不是,系统会提示他进行身份验证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 2011-04-14
    • 2012-07-17
    • 2011-08-04
    • 1970-01-01
    • 2014-01-10
    相关资源
    最近更新 更多