OAuth 官方介绍
OAuth 官方介绍
OAuth 是一个开放标准,允许互联网上的其他应用程序访问你的 Resonite 账户详细信息,而无需你向它们分享你的 Resonite 密码。OAuth 提供了一个基于同意(授权)的流程,确保在任何数据交换发生之前,你作为用户已同意授予应用程序访问权限。OAuth 在互联网上被广泛使用,且许多应用程序都支持它。
熟悉 OAuth 吗?直接跳转到 快速指南 获取你需要用到的 URL 端点。
OAuth 状态
Resonite 的 OAuth 功能目前处于非常早期的阶段,使用它需要注册应用程序,且目前只能通过人工审批来完成。目前你也无法用 OAuth 做太多事情,但这将在未来得到扩展。
常见问题
OAuth 是一个复杂的功能,因此这会引出一些关于它是如何工作的常见问题。
OAuth 会让其他人访问我的数据吗?
未经你的明确同意,OAuth 无法访问你的 Resonite 账户。
我可以在 Resonite 内部使用 OAuth 吗?
目前没有任何支持 OAuth 的 Resonite 组件、Protoflux 节点或其他 Resonite 内置元素。由于需要重定向 URL,OAuth 也不能在 ProtoFlux 中手动处理或使用。这种情况在未来可能会改变。
我可以使用 OAuth 登录/访问 Google/Facebook/Dropbox 等平台吗?
不能,本页面提到的 OAuth 以及 Resonite 中的该功能,旨在让其他服务连接到你的 Resonite 账户,而不是反过来(让你用 Resonite 去连其他服务)。
示例场景
以下是未来通过 Resonite 和 OAuth 可能实现的一些示例。这些应用程序目前都不存在,仅仅是展示你可能做到的事情的示例:
- 活动注册 - 作为活动注册系统的一部分,你可能会被要求将你的 Resonite 账户与活动注册系统进行链接。这将安全地识别你的身份,证明你是特定的 Resonite 用户,从而允许你参加付费活动、会议和研讨会等。
- 实用工具 / 应用程序 - 使用第三方应用程序在 Resonite 之外管理你的朋友列表、消息等。
- 管理功能 - 在 Resonite 之外编辑你的 Resonite 个人资料和库存(Inventory)。
OAuth 要求
为了使用 OAuth,你需要具备以下条件:
- 一个在 Resonite 注册过的应用程序/客户端。
- 已注册应用程序的 OAuth Client ID(客户端 ID)和 Client Secret(客户端密钥)。
- 你想要使用的权限范围(Scopes)列表。
- 一个 Web 服务器 - OAuth 需要一个 Web 应用程序/服务器来处理 OAuth 的授权流程。
注册应用程序
要注册应用程序,你需要发送电子邮件至 business@yellowdogman.com(注:此为官方预留邮箱)。在邮件中请包含:
- 你的名字。
- 你请求访问权限的原因。
- 你的应用程序名称。
- 一个 OAuth 回调/重定向 URL(Callback/Redirect URL)- 这是 Resonite 在 OAuth 流程中用于将用户重定向回你的应用程序的 URL。它通常需要运行在一个 Web 服务器上。
请记住,该系统仍在起步阶段,我们无法接受所有的请求。申请是否通过将根据具体情况逐案评估。我们将来会使用更明确的要求标准来更新本页面。
OAuth 流程
一旦你满足了上述所有要求,就可以开始了!
这里有一个基本的流程解释,在你深入了解之前可能会有所帮助:
- 用户在你的应用程序(例如 CoolApp.com)中进行身份验证(登录)。
- 验证通过后,向用户展示一个链接或按钮,要求他们登录或链接其 Resonite 账户。
- 该链接应使用标准的授权码流程参数重定向到:
https://auth.resonite.com/connect/authorize - Resonite 随后会要求用户使用其 Resonite 账户登录。
- 用户登录后,系统会显示一条消息,询问他们是否同意授予你的应用程序访问其 Resonite 账户的权限。
- 如果用户同意,他们将被重定向回你已注册的应用程序的重定向 URL。
- 重定向 URL 中将包含一个授权码(Authorization Code),你可以在你的服务器上将其交换为访问令牌(Access Token)。
使用访问令牌
目前,一旦获得了令牌,你可以使用它来调用有限数量的端点(Endpoints)。这些端点在未来可能会增加。
个人资料端点(Profile Endpoint)
调用:https://account.resonite.com/api/user/profile,并在请求头中带上你的令牌:Authorization: Bearer [token],系统将以 JSON 格式提供一个标准的 Resonite 用户个人资料。
为了能够接收到该资料,你需要确保在请求中包含了 profile 权限范围(Scope)。
此外,通过请求一些额外的权限范围,你可以访问更多其他信息。请参阅 权限范围(Scopes)。
快速指南
你以前操作过这些吗?本节内容专为你准备!
端点(Endpoints)
权限范围(Scopes)
| 权限名称(Scope Name) | 描述(Description) |
|---|---|
| profile | 允许你获取个人资料信息,例如用户的用户名、个人主页图片等。 |
| 允许你在个人资料响应中查看用户的电子邮件地址。 | |
| patreon | 在个人资料响应中提供用户的 Patreon 绑定信息。 |
外部资源
- OAuth 规范 - 长达 76 页的技术标准信息。
- OAuth 简化版指南 - 对 OAuth 许多部分的简化解释。请注意,某些页面可能会链接到付费服务,但使用 OAuth 并不强制需要这些服务。
- Wikipedia - 维基百科关于 OAuth 的词条页面。
(文档待完善)
No comments to display
No comments to display