gpt4 book ai didi

oauth-2.0 - Keycloak 无效的 token 发行者

转载 作者:行者123 更新时间:2023-12-03 09:27:27 26 4
gpt4 key购买 nike

我有一个移动应用程序(react-native)、一个资源服务(spring boot)和 Keycloak Authenticatioin Service(Auth-Service)。

客户端直接使用 Auth-Service 进行身份验证并获取访问 token 。
当我向资源服务发出请求时,资源服务通过询问 Auth-Service 来检查访问 token 。但是客户端app和iss字段获取的token是http://10.0.2.2:8060/auth/realms/sau和我的资源服务在 http://localhost:8110 .

Keycloak 说:error="invalid_token", error_description="Invalid token issuer. Expected 'http://localhost:8060/auth/realms/sau', but was 'http://10.0.2.2:8060/auth/realms/sau'"
我的问题是如何代表我的客户在资源服务中进行身份验证?

手机应用:

 export const prepareRequestBody = credentials => {
const params = new URLSearchParams();
params.append('username', credentials.username);
params.append('password', credentials.password);
params.append('client_id', "nasilim-mobile-app");
params.append('grant_type', "password");
return params;
};

export const login = credentials => {
const params = prepareRequestBody(credentials);
return axios.post(LOGIN, params);
};

enter image description here

资源服务:

application.yml
keycloak:
realm: sau
resource: photo-service
bearer-only: false
auth-server-url: http://localhost:8060/auth
credentials:
secret: 69a3e80c-8360-42df-bcec-b6575a6949dc

enter image description here

注意:我已经查过 this问题,我试图设置 "X-Forwarded-For": " http://localhost:8060/ "但它没有用 Keycloak 返回:
{
"error": "invalid_request",
"error_description": "HTTPS required"
}

这是一个 Sample Access Token手机客户端获取的。

最佳答案

“iss”声明因请求的功能而异。变量 KEYCLOAK_FRONTEND_URL可以改变这种行为。因此,请尝试在您的 docker-compose 文件中执行以下操作:

KEYCLOAK_FRONTEND_URL: http://10.0.2.2:8060/auth

关于oauth-2.0 - Keycloak 无效的 token 发行者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61966384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com