使用Keycloak时模拟“生成API令牌”的最佳实践

时间:2019-07-27 12:42:58

标签: oauth-2.0 openid keycloak

我有一个SPA,其后端API受Keycloak保护。我想允许SPA用户以编程方式而不是仅通过SPA针对API执行操作。通常,应用程序将允许用户“创建API密钥”并针对API执行操作。

使用Keycloak的推荐方法是什么?

我目前的计划是在公共客户端上启用直接访问授权(资源所有者密码凭据授权),并指示SPA用户通过以下方式检索访问令牌:

curl -u public-client: -X POST \
  https://keycloak.url/auth/realms/REALM/protocol/openid-connect/token \
  -d 'grant_type=password&username=USER&password=PASSWORD'

然后,用户可以使用其访问令牌访问API。它可以工作,但是感觉不太正确。

有没有更好的方法?预先感谢!

1 个答案:

答案 0 :(得分:0)

您的SPA只是API的另一个客户端,所有客户端都经过相同的登录过程。唯一的区别是将身份验证令牌存储在哪里,使用SPA,浏览器将使用API​​将它们存储在API中

有关api登录的更多信息,请参见此帖子: Login to Keycloak using API