2017-04-13 44 views
0

我正在为我们的下一个API设置OAuth 2。预期的用途是允许其他软件与我们的API进行交互。我面临的问题是决定如何让一个用户(管理员)通过批准应用程序来设置集成,然后允许其他软件中的所有用户在我们的软件中执行操作,同时仍然跟踪正在执行行动。我正在考虑使用它们将设置的标题或参数来表示用户执行操作。OAuth 2公司 - >员工等级

您是否有任何与此类似的设置示例,或者可以进行优化以便跟踪用户和操作,而无需为每个用户设置OAuth?

回答

1

如果您想将OAuth2服务器用作与权限委派相对的授权的用户权限存储(例如应用程序使用Google OAuth2访问令牌代表其用户执行操作),则可能需要所有权限的用户被包括在已发布的访问令牌中(不仅是启动认证/授权过程的应用程序特别请求的那些)。如何对其进行配置超出了OAuth2规范的范围,并且特定于每个实现。

当某些应用程序调用您的API时,您应该在Authorization: Bearer accessTokenValue HTTP请求标头中获得访问令牌。您必须验证此令牌,提取其权限,并且您还可以获取令牌的用户信息。这可以在OAuth2内省端点执行。欲了解更多信息,请参阅

我不知道你是怎么想跟踪用户的行为,所以我希望上面的信息包括你的一些问题。

+0

我更加好奇公司如何建立集成,然后员工可以执行这些操作。 – CWitty

+0

嗨同意你的意见。我认为正确的地方就是内省终点。正如在RFC7662中所提到的那样,它被设计用于“确定关于该令牌的元信息”。资源所有者角色可以在AS和RS之间共享 –