phi*_*and 3 api google-calendar-api oauth-2.0
我在 FileMaker 中构建了一个房间预订应用程序,该应用程序通过日历 API 访问 Google 日历,并使用 OAuth2 进行身份验证。
一切运行良好,只是我不确定 OAuth2 客户端令牌流与将使用该系统的各个 FileMaker/GCal 用户之间的关系。
目前,我既是 Google 开发者控制台中该项目的所有者,也是唯一的 Beta 测试人员,因此该系统自然可以与我的日历配合使用 - 我登录一次,通过 OAuth2 我的 ClientID 和 Secret,生成我的代码,交换它用于令牌和刷新,然后我就走了。
然而,整个系统目前只有一个令牌和刷新,保存在单行 FileMaker 表中,因此,当我创建第二个测试用户时,事情仍然转发到我的日历。
这是我不清楚的地方。这听起来很明显,但很难找到明确的答案。
我是否应该拥有它,以便每个用户使用相同的 ClientID 和 Secret(我对他们保密)来生成他们自己的唯一令牌集?
或者单套就足够了,而我误解了系统的其他方面(如果是的话,是什么)?
简而言之:令牌是每个应用程序还是每个应用程序用户?
回答我自己的问题:
客户端 ID:与应用程序相关,对所有用户通用
客户端密钥:与应用程序相关,对所有用户通用
重定向 URI:与应用程序相关,对所有用户通用
授权代码:特定于每个用户,需要客户端 ID 和客户端密钥,并在用户使用第 3 方服务进行身份验证后从重定向 URL 作为 GET 变量检索(例如http://YourRedirectURI.com?code=abc123)
刷新令牌:特定于每个用户,需要客户端 ID 和授权码
访问令牌:特定于每个用户,需要客户端 ID 和刷新令牌,并且有时间限制(通常为 1 小时),因此一旦过期就需要重新生成新的令牌
注意:用户不应看到客户端密钥(或者最好是客户端 ID)。它们应该在应用程序的内部逻辑中使用,以生成对用户代码/令牌的调用,但用户看不到。
因此,OAuth2“流程”本质上如下:
1) 您的客户端 ID + 您的客户端密钥 + 他们对第 3 方服务的身份验证登录 = 该特定用户的身份验证代码作为重定向 URI 中的 GET var
2) 您的客户端 ID + 您的客户端密钥 + 他们的身份验证代码 = 刷新令牌 & 访问令牌
3) 您的客户端 ID + 您的客户端密钥 + 他们的刷新令牌 = 新的访问令牌
| 归档时间: |
|
| 查看次数: |
3617 次 |
| 最近记录: |