docker 团体声称在使用fusionauth设置SSO时fusionauth生成的JWT中丢失

wbrvyc0a  于 2023-05-16  发布在  Docker
关注(0)|答案(1)|浏览(119)

我尝试将fusionauth链接为minio的SSO提供程序,但遇到以下错误

<?xml version="1.0" encoding="UTF-8"?\>
<ErrorResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"><Error><Type></Type><Code\>InvalidParameterValue\</Code\>\<Message\>groups claim missing from the JWT token, credentials will not be generated</Message></Error><RequestId>175A7B8469F151BB</RequestId\></ErrorResponse\>

在检查Fusionauth发送的JWT时,有效载荷为

{
  "aud": "55ad32c7-99eb-40e9-abc0-479c2f18c18e",
  "exp": 1682796819,
  "iat": 1682793219,
  "iss": "acme.com",
  "sub": "ad58f73f-79fd-4806-86f7-cd9d48b65400",
  "jti": "85e0a440-c254-4684-9c7b-caa830c1d491",
  "authenticationType": "PASSWORD",
  "email": "admin@admin.com",
  "email_verified": true,
  "at_hash": "wLcTvHBgOMQblFXSJCEr2w",
  "c_hash": "N9XJhvfh8Cz0sKnWjw3TEQ",
  "scope": "openid offline_access",
  "sid": "8ed4559c-1d86-41db-9312-cfd2e42d0fc4",
  "auth_time": 1682793219,
  "tid": "42178a6c-35ab-6c81-f8f9-4696fc894a60"
}

这实际上缺少groups声明。我已经在应用程序中创建了与minio存储桶策略名称对应的角色,并将它们添加到我试图进行身份验证的用户。我还创建了一个名为minio的组,它包含所有这些角色,并且也与用户关联。我做错了什么?我如何通过jwt发送角色名称,以便mino通过fusionauth进行身份验证?
在此处共享我的minio OpenID设置
https://i.stack.imgur.com/jAmei.png
我尝试向用户添加角色并将其附加到组

ukqbszuj

ukqbszuj1#

我相信你正在寻找的是使用JWT Populate Lambda来添加你需要的额外声明。相关文档如下:
https://fusionauth.io/docs/v1/tech/lambdas/jwt-populate
这将允许您以所需的任何格式添加groups声明。
然后,您只需要将Lambda与应用程序相关联。这是通过编辑应用程序并单击JWT选项卡来完成的。在此选项卡的底部,您将找到名为Access Token populate lambda的设置。这控制用于操作JWT的Lambda。

相关问题