AWS AppSync OIDC

AWS AppSync OIDC

我将 AWS AppSync 与 keycloak 一起用作 OIDC 提供商,并将 clientID 留空。这意味着我可以使用任何 clientId 和客户端密码生成访问令牌,并开始向我的 AppSync GraphQL 端点发出请求(查询或变更)。

但是,我不得不问...如何使用 jwt 令牌中的范围定义细粒度的访问控制。除了利用之前在 keycloak 或任何其他 oidc 提供商中设置的现有客户端之外,我真的不明白这个授权流程提供了什么好处。

那么...将 oidc 身份验证用于 AppSync 的真正好处是什么?我在这里遗漏了什么重要的东西吗?感谢任何反馈!

谢谢!

您可以访问解析器映射模板中 $ctx.identity.claims 映射中的 OIDC 声明,您基本上可以使用它来执行细粒度访问控制逻辑。想象一下,如果您有一个组声明,这意味着您的用户属于一个组,例如 Admin,那么您可以基于此在您的映射模板中编写自定义逻辑。

这是一个如何执行此操作的示例(它使用 Cognito,但 OIDC 应该非常相似)。

https://adrianhall.github.io/cloud/2018/06/01/how-developers-can-auth-with-aws-appsync/