我正在尝试使用JWT/OIDC authentication method(使用Azure AAD作为提供程序)来保护Vault UI和命令行登录。我正在关注文档,但最后出现以下错误消息:
Token verification failed. error validating signature: failed to verify signature: failed to verify id token signature
Group.Read.All
权限https://login.microsoftonline.com/{my_tenant_id}/v2.0
https://graph.microsoft.com/.default
"groupMembershipClaims": "All",
修改了应用清单然后我在Vault上使用令牌身份验证登录并发出以下命令行。
vault auth enable oidc
vault write auth/oidc/config @azuread-auth-config.json
# Success! Data written to: auth/oidc/config
vault write auth/oidc/role/default @azuread-default-role-config.json
azuread-auth-config.json
文件包含以下内容
{
"oidc_discovery_url": "https://login.microsoftonline.com/{my_tenant_id}/v2.0",
"oidc_client_id": "{my_client_id}",
"oidc_client_secret": "{my_client_secret}",
"default_role": "default"
}
azuread-default-role-config.json
文件包含以下内容
{
"allowed_redirect_uris": [
"http://localhost:8250/oidc/callback",
"https://{my_hostname}/ui/vault/auth/oidc/oidc/callback",
"http://localhost:8200/ui/vault/auth/oidc/oidc/callback"
],
"groups_claim": "groups",
"oidc_scopes": [
"https://graph.microsoft.com/.default"
],
"policies": [
"default"
],
"user_claim": "email",
"bound_audiences": [
"{my_client_id}"
],
"verbose_oidc_logging": "true"
}
"verbose_oidc_logging": "true"
行仅用于调试目的。
在Vault UI上启动登录过程后,我将重定向到url
https://login.microsoftonline.com/{my_tenant_id}/oauth2/v2.0/authorize?client_id={my_client_id}&nonce=5e52640c66c2dsf64f5ds3f1sd46dc6717&redirect_uri=https%3A%2F%2F{my_hostname}%2Fui%2Fvault%2Fauth%2Foidc%2Foidc%2Fcallback&response_type=code&scope=openid+https%3A%2F%2Fgraph.microsoft.com%2F.default&state=744a03304e71ed7e4dedgrd3541544
然后我收到登录成功的消息,它会自动关闭窗口
我还将日志保存在Vault服务器上,可以看到已经生成了令牌。如果继续执行https://jwt.ms,然后粘贴JWT令牌,它将被解密,并且可以确定适当的值。 我可以在用户下看到大约90个组,并带有正确的租户ID和客户ID。
如果我使用命令行vault login -method oidc role=default
尝试登录过程,则会看到相同的错误消息。
Code: 400. Errors:
* Token verification failed. error validating signature: failed to verify signature: failed to verify id token signature
答案 0 :(得分:0)
我遇到了同样的麻烦。从Azure删除应用程序并再次配置它很有帮助。
有效的我的保险柜角色配置:
vault write auth/oidc/role/<< oidc_role_name >> -<<EOF
{
"allowed_redirect_uris" : ["http://localhost:8250/oidc/callback","https://vault.example.com:8200/ui/vault/auth/oidc/oidc/callback"],
"user_claim" : "sub",
"policies" : "default",
"oidc_scopes" : "https://graph.microsoft.com/.default,profile,email",
"verbose_oidc_logging" : "true"
}
在 Azure API权限中,我具有:
令牌配置: 声明:
身份验证: 隐式授予: