【问题标题】:Keycloak issue Cannot exchange code for grant in bearer-only modeKeycloak 问题无法在仅承载模式下交换代码以获得授权
【发布时间】:2022-01-04 17:50:10
【问题描述】:

我是 keycloak 的新手,正在尝试使用 keycloak 设置基于角色的身份验证 使用Nodejs,但每次我使用领域中确实存在的正确用户名和密码登录时,我都会遇到此仅持有人授权问题。我已经尝试了所有解决方案,甚至检查了 Keycloak 上的访问类型是否为 Bearer-only 但不是机密尝试将 Bearer-only 设置为 true 和 false 但对我没有任何效果

{
  "realm": "realm_name",
  "auth-server-url": "Keycloak_auth_url",
  "ssl-required": "none",
  "resource": "resource",
  

  "verify-token-audience": false,
  "public-client":true,
  "grant_type":"password",

  "credentials": {
    "secret": secret_credentials
  },
  "confidential-port": 0,
  "policy-enforcer": {},
  "scope":"openid"
}

这是我的 keycloak.json 文件

app.get("/", keycloak.protect(), function (req, res) {
console.log(req)


}

) 这是我保护路线的简单功能

【问题讨论】:

    标签: node.js authentication keycloak


    【解决方案1】:

    您将客户端配置为使用密码授予,它不使用身份验证代码。使用此授权,客户端通过将其客户端凭据与资源所有者凭据一起发布到授权服务器来获取访问令牌和可选的刷新令牌。

    根据您的客户的应用类型,选择相应的授权类型。

    尽管如此,根本不应该使用密码授权,OAuth 2.0 当前最佳实践的最新更新表明。见https://datatracker.ietf.org/doc/html/draft-ietf-oauth-security-topics-18

    【讨论】:

      猜你喜欢
      • 2019-07-07
      • 2019-03-03
      • 2019-02-18
      • 2017-09-23
      • 2015-02-02
      • 2019-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多