我尝试将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
我尝试向用户添加角色并将其附加到组
1条答案
按热度按时间ukqbszuj1#
我相信你正在寻找的是使用JWT Populate Lambda来添加你需要的额外声明。相关文档如下:
https://fusionauth.io/docs/v1/tech/lambdas/jwt-populate
这将允许您以所需的任何格式添加
groups
声明。然后,您只需要将Lambda与应用程序相关联。这是通过编辑应用程序并单击
JWT
选项卡来完成的。在此选项卡的底部,您将找到名为Access Token populate lambda
的设置。这控制用于操作JWT的Lambda。