配置1如下所示。配置2如下所示。
问题始于access_token:
{
"exp": 1619466995,
"iat": 1619466935,
"jti": "fcd20273-fb45-408c-9e20-126653d69719",
"iss": "http://localhost:8082/auth/realms/efairy-realm",
"aud": "account",
"sub": "b1d89dc2-c12d-4c80-beed-c9a6065ec604",
"typ": "Bearer",
"azp": "efairy-backend",
"session_state": "d4a2b283-2f54-4a17-9a27-99db26278ba7",
"acr": "1",
"allowed-origins": [
"",
"http://localhost:8083"
],
"realm_access": {
"roles": [
"offline_access",
"uma_authorization"
]
},
"resource_access": {
"efairy-backend": {
"roles": [
"uma_protection",
"user"
]
},
"account": {
"roles": [
"manage-account",
"manage-account-links",
"view-profile"
]
}
},
"scope": "profile roles email",
"clientHost": "172.23.0.1",
"email_verified": false,
"clientId": "efairy-backend",
"groups": [
"offline_access",
"uma_authorization"
],
"preferred_username": "service-account-efairy-backend",
"clientAddress": "172.23.0.1"
}
我创建了一个名为moderator的新用户,并使用角色moderator,当我登录到该用户时,我接收我在选项卡“服务帐户角色”中设置的角色(resource_access.efairy-backend.roles),但我希望获得我在角色映射选项卡中声明的角色。
答复:
access_token:“EYJHBGCIO...AJBA”,
expires_in:60,
not-befor-policy:1619128217,
refresh_expires_in:1799,
refresh_token:“EYJ..XQ_R0”,
scope:“Profile roles Email”,
session_state:“FCF1391D-...B11795C03F80”,
token_type:“Bearer”,
有人知道怎么修吗?:)
在Im重定向到前端应用程序中成功歌唱后,使用参数:
/auth/realms/efairy-realm/protocol/openid-connect/token
grant_type:client_credentials
client_id:efairy-backend
client_secret:
代码:
当您执行此操作时,将代表用户“service-account-efairy-backend”
省略令牌,该用户是由Keycloak为客户端“efairy-backend”创建的用户。
我创建了一个名为moderator的新用户,并使用角色moderator,当我登录到该用户时,我接收我在选项卡“服务帐户角色”中设置的角色(resource_access.efairy-backend.roles),但我希望获得我在角色映射选项卡中声明的角色。
您将获得在帐户角色中设置的角色,因为这些角色被分配给客户端(即用户“service-account-efairy-backend”
)。因为用户moderator
不是交互的一部分,所以角色moderator
不是令牌的一部分。
此外,客户端凭据并不适合前端应用程序。从源代码中可以读到:
客户端凭据流动
对于计算机到计算机(M2M)应用程序(如CLI、后台进程或在后端运行的服务),系统将对应用程序进行身份验证和授权,而不是对用户进行身份验证和授权。对于这种情况,典型的身份验证方案(如用户名+密码或社交登录)是没有意义的。相反,M2M应用程序使用客户机凭据流(在OAuth 2.0 RFC 6749第4.4节中定义),在该流中,它们传递客户机ID和客户机秘密来验证自己并获得令牌。
在我看来,你的第三步可以移除了。第二步之后:
然后输入正确的用户和密码,然后单击“登录
我开发了以下代码,用于自动执行我的一些实例的启动/停止任务,这些实例不需要一直运行,而是在特定范围内运行。 这是我的代码:https://github.com/maartinpii/gcp-shst 我按照谷歌云平台指南(参考:https://cloud.google.com/iam/docs/understanding-service-accounts https://cloud.google.
我试图创建一个服务帐户与一个已知的,固定的令牌Jenkins使用,以部署到Kubernetes的东西。我使用以下YAML创建了令牌:
我目前正在使用KubernetesPodoperator在库伯内特斯集群上运行Pod。我收到以下错误: 库伯内特斯。客户RestApiException:(403)原因:禁止 HTTP响应标头:HTTPHeaderDict({'Auding-Id': '', 'Cache-Control':'no-cache, Private','Content-Type':'Application/json',
我一直试图用角色导入预先配置的客户机和服务帐户,所以我的json文件看起来像 我还尝试在导入的领域配置中设置客户端,但在这两种情况下,我都有以下问题 null Keycloak版本为:8.0.0 谢了。
我已经基于命名的路由为Laravel(4.2)创建了自定义角色管理器,例如: 基本上,任何注册为
我已经从GCP控制台创建了和一个自定义角色。 但是,当试图关联它们时,它会失败,如下所示: 知道为什么吗?