首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OAuth2服务器与服务器之间的通信需要存储哪些数据?

OAuth2服务器与服务器之间的通信需要存储哪些数据?
EN

Stack Overflow用户
提问于 2020-03-21 21:45:25
回答 1查看 511关注 0票数 0

背景

我的应用程序从许多不同的源(API)获取数据,并通过它们进行聚合。因此,用户通过OAuth2登录到源中一次,然后我继续对源进行调用。

我使用thephpleague/oauth2-client连接到不同的服务,我也使用提供商包构建在顶部连接到不同的网站。我在那里绝对没有问题。

一旦我进行了身份验证,就会得到一个League\OAuth2\Client\Token\AccessToken实例。

现状

现在,对于存储,我在AccessToken实例上执行一个AccessToken,并存储生成的非结构化string。要加载它,我json_decode并通过构造函数创建一个新实例。不是很有趣。

问题是

如果我想以结构化的方式存储访问令牌(一般是OAuth响应),我需要哪些数据?为了服务器与服务器之间的通信,我需要坚持什么?具体的物品及其类型?我正试图找出存储许多不同提供者的数据模型。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-21 22:32:16

#来源答案的来源有2倍:

  1. The RFChttps://www.rfc-editor.org/rfc/rfc6749#section-5.1 -给定RFC字段are:
  • access_token -伪类型string
  • token_type的必需值-伪类型string
  • expires_in的必需值-伪型int
  • refresh_token的推荐值-伪类型string
  • scope的可选值,在请求

中要求的范围不同的情况下,伪类型string的可选值。

RFC规定The client MUST ignore unrecognized value names in the response.,但是在本节中它们提供了一个以前未定义的value name

  1. The库提到了https://github.com/thephpleague/oauth2-client/blob/master/src/Token/AccessToken.php#L59 -给定伪型string
  2. resource_owner_id的必需值伪型string
  3. refresh_token的可选值伪型string
  4. expires_in的可选值伪型int的可选值,并将expires作为伪型int

的值。

传递给构造函数的任何其他内容都被视为额外的数据。

#含意

应该存储

  • access_tokenrefresh_token,这两个字符串都包含在所使用的库中,并且在本例中没有必要,但对于其他一些people.
  • expires_in来说,可能是作为time.
  • resource_owner_id中某个点的某种表示形式存储的,因为time.
  • resource_owner_id中的某个点是您的库可以使用的自定义值名称。如果您想要使用it.
  • scope,可以将其存储为字符串,如果应用程序在API请求之前对范围授权进行测试,则可以将其存储。将其存储为string.
  • anything Store是一个自定义值,应将其视为自定义值。不同提供程序之间的值名称重叠的可能性确实很小。可以作为字符串数组存储。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60793621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档