在 OAuth2.0 中使用 Facebook 访问令牌作为资源所有者凭据

2024-04-23

OAuth 2.0 规范定义了资源所有者密码凭证授予类型 https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-26#section-4.3,它允许直接使用资源所有者密码凭据(即用户名和密码)作为获取访问令牌的授权。

我希望允许用户在客户端上“通过 Facebook 登录”,而不是直接提供凭据。然后,客户端可以将用户的 Facebook 访问令牌交换为授权服务器的访问令牌。这个方案是否符合OAuth2的框架?


然后,客户端可以将用户的 Facebook 访问令牌交换为授权服务器的访问令牌。

这是否意味着您有 2 个授权服务器(一个是 Facebook,另一个是您的私人服务器)?如果是 - 您正在滥用 OAuth,应该使用授权代码授予方案。

在 OAuth 2.0 规范 (v25) 的图 5 中,您可以找到工作流定义:

  1. 资源所有者向客户端提供其用户名和密码。

  2. 客户端从授权服务器的令牌请求访问令牌 端点,包括从资源所有者收到的凭据。什么时候 发出请求后,客户端向授权服务器进行身份验证。

  3. 授权服务器对客户端进行身份验证并验证资源所有者 凭据,如果有效,则颁发访问令牌。

这是来自 Facebook 的引述http://developers.facebook.com/docs/guides/web/ http://developers.facebook.com/docs/guides/web/ :

为了让用户登录到您的网站,需要发生三件事。首先,Facebook 需要对用户进行身份验证。这可以确保用户就是他们所说的那个人。其次,Facebook 需要对您的网站进行身份验证。这可以确保用户将他们的信息提供给您的网站而不是其他人。最后,用户必须明确授权您的网站访问他们的信息。这可以确保用户准确地知道他们向您的网站披露了哪些数据。

在这两个地方,您都有一个且只有一个授权服务器 - 在您的情况下 - Facebook。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 OAuth2.0 中使用 Facebook 访问令牌作为资源所有者凭据 的相关文章

  • 为什么访问令牌请求需要redirect_uri?

    我正在开发一个基于 oauth2 提供程序rfc6749 https www rfc editor org rfc rfc6749我想知道为什么需要redirect uri访问令牌请求 https www rfc editor org rf
  • 如何使用 OAuth 2.0 实现 Web 小部件

    我想创建一个 Web 小部件来显示我网站上的信息 该小部件将使用 JavaScript 包含在客户网站的 HTML 中 并且只能用于我的客户 在我的网站上注册的网站 小部件中的信息应该特定于当前正在访问客户站点的用户 因此 我需要对客户端
  • TOAuth2Authenticator:如何刷新过期的令牌?

    我一定是错过了什么 我一直在尝试使用新的 对我来说是新的 来自delphi xe2环境 TOAuth2Authenticator TRESTClient TRESTRequest TRESTResponse组件来刷新过期的OAUTH2令牌
  • 使用 Passport-facebook 的 Facebook OAuth 安全性

    我目前正在使用客户端 React 组件让用户通过我的应用程序中的 OAuth 登录 Facebook 在服务器端 我使用 npm 包护照 Facebook 令牌 https github com drudge passport facebo
  • Spring Security Facebook Oauth2 重定向太多次

    我正在尝试按照 Spring security 中提到的示例为 facebook 实现 Oauth2 实现https spring io guides tutorials spring boot oauth2 https spring io
  • 语法分析和语义分析有什么区别?

    据我了解 Parser由词法分析 句法分析和语义分析三个阶段组成 Lexical 它将我的输入分割成标记 例子 123 100 0 gt 123 100 0 语法 它将研究标记并检查它们是否彼此有意义 我遇到的问题是理解最后阶段的 语义解析
  • 正则表达式:忽略大小写

    如何使以下正则表达式忽略大小写 它应该匹配所有正确的字符 但忽略它们是小写还是大写 G a b 假设你想要whole正则表达式忽略大小写 你应该寻找i flag http www regular expressions info modif
  • 如何实施刷新令牌轮换?

    如果我正确理解了刷新令牌轮换 这意味着每次我们请求新的访问令牌时 我们也会获得一个新的刷新令牌 如果多次使用刷新令牌 我们会使某个用户之前使用的所有刷新令牌失效 并且用户必须再次执行身份验证过程 这是否意味着我们需要将所有刷新令牌 所有旧的
  • 如何使用 Trie 进行拼写检查

    我有一个根据单词词典构建的特里树 我想用它来进行拼写检查 并建议字典中最接近的匹配项 也许对于给定数量的编辑x 我想我会在目标单词和字典中的单词之间使用 levenshtein 距离 但是有没有一种聪明的方法可以遍历 trie 而不需要对每
  • 无扫描器解析器生成器

    序幕 尽管解析器 上下文无关语法 识别的语言集严格大于扫描器 常规语法 识别的语言集 但大多数解析器生成器都需要扫描器 请不要试图解释其背后的原因 我很了解它们 我见过解析器 不需要像这样的扫描仪 Elkhound http scottmc
  • 使用 Swift p2/OAuth2 并行刷新 OAuth2 访问令牌请求

    我在用https github com p2 OAuth2 https github com p2 OAuth2用于通过 OAuth2 连接到我的应用程序的后端 效果非常好 我遇到的问题是 当访问令牌过期并且同时发生多个请求时 其中一些请求
  • Spring Cloud Gateway + Spring安全资源服务器

    我真的不会把它放在这里 但我真的很困惑 我想实现以下目标 我在跑步 Java 14 Spring Cloud Gateway版本 Hoxton SR3 Spring Boot版本 2 2 5 RELEASE 现在我想将安全性集成到我的网关和
  • 什么是样板代码、热点代码和热点?

    我知道这些术语是在性能实现 优化的背景下使用的 最近一直在研究这个问题 并尝试过搜索 但没有得到任何例子 清楚地阐述 描述这些概念以及在现实世界开发场景中实现这些问题 概念 有人可以彻底解释这些术语 示例场景以及可能使用这些概念和术语的地方
  • Oauth 2:为什么刷新令牌必须是有状态的?

    我正在开发一个基于 Node 的 SPA 应用程序 并使用 JWT 进行基于令牌的身份验证 目前 jwt 令牌永远不会过期 这不太好 我希望它过期以提高安全性 但我不希望我的用户被迫重新登录 这就是为什么我需要刷新令牌 所以我正在阅读有关
  • Lockfree 标准集合和教程或文章

    有人知道用于无锁常用数据类型的实现 即源代码 的好资源吗 我正在考虑列表 队列等 锁定实现非常容易找到 但我找不到无锁算法的示例以及 CAS 的工作原理以及如何使用它来实现这些结构 查看 Julian M Bucknall 的博客 他 详细
  • chrome扩展需要从服务器端离线访问

    我正在构建一个 chrome 扩展 我用了chrome identity getAuthToken获取access token 这为我提供了客户端 浏览器 的access token 现在我想将此 access token 传递到我的服务器
  • Spring Oauth2. DaoAuthenticationProvider 中未设置密码编码器

    我对 Spring Oauth 和 Spring Security 很陌生 我正在尝试在我的项目中使用 client credentials 流程 现在 我设法使用自己的 CustomDetailsS ervice 来从系统中已存在的数据库
  • ApplicationController 的未定义方法“helper_method”,Rails 5

    我正在尝试使用doorkeeper 将oAuth2 0 集成到我的仅rails api 应用程序中 但我不断收到此错误 ApplicationController 的未定义方法 helper method 但无法找到解决该问题的明确解决方案
  • 以任意顺序匹配可选捕获组

    在解析用户输入的许多情况下 用户有机会向输入添加几个可选标志 这些标志应该以任何顺序接受 如何使用正则表达式对其进行解析 以便每个标志都位于它自己的捕获组中 如果存在 例如 有一个必需的令牌a 然后是 3 个可选标记 可以按任何顺序出现b
  • 包围一组点的多边形

    我有一组 S 点 2D 由 x 和 y 定义 我想找到 P 包围该组所有点的最小 含义 具有最少数量的点 多边形 P 是S 有没有已知的算法来计算这个 我在这个领域缺乏文化令人惊讶 感谢您的帮助 对于这个问题有很多算法 它被称为 最小边界框

随机推荐