Keycloak 关于为独立服务(前端和后端)创建客户端/领域的方法

Keycloak 关于为独立服务(前端和后端)创建客户端/领域的方法,keycloak,quarkus,keycloak-rest-api,Keycloak,Quarkus,Keycloak Rest Api,我是KeyClope的新手,我想检查一下上述架构的常见设计是什么。 我有1个后端(quarkus)1个前端(角度)和1个颤振 我想看看是否可以利用客户端的功能。我的想法是在领域内有一个单独的客户机。比如说 领域=MyAppRealm 客户端=后端客户端和前端客户端 我从前端客户端获得的令牌是否可以用于从后端访问api 我进行此设置的原因是前端客户端具有public访问类型,而后端客户端具有secretive 总而言之。我想看看是否可以将我从前端客户端获得的令牌重新使用到我的后端客户端是的,当然可

我是KeyClope的新手,我想检查一下上述架构的常见设计是什么。 我有1个后端(quarkus)1个前端(角度)和1个颤振

我想看看是否可以利用客户端的功能。我的想法是在领域内有一个单独的客户机。比如说

领域=MyAppRealm

客户端=后端客户端和前端客户端

我从前端客户端获得的令牌是否可以用于从后端访问api

我进行此设置的原因是前端客户端具有public访问类型,而后端客户端具有secretive


总而言之。我想看看是否可以将我从前端客户端获得的令牌重新使用到我的后端客户端是的,当然可以

openid的目的是在不同的客户端之间共享身份验证和授权,而无需共享凭据(任何客户端都不知道密码)。受信任的第三方(此处为KeyClope)将返回已签名的令牌以交换凭据。这个令牌将证明用户是谁,以及在前端和后端之间的通信中允许他做什么

总而言之:

  • 您的angular前端使用公共客户端和隐式流对用户进行身份验证。成功验证后,前端将获得访问令牌和刷新令牌

  • 在对后端进行REST调用时,前端需要使用访问令牌作为承载令牌(“授权:此处插入承载访问令牌”)来设置头授权。您可以通过使用拦截器()

  • 最后,当您的后端接收到API请求时,它可以检查授权头,以确保请求经过身份验证和授权。关于如何使用Quarkus实现这一点,本文档页面中对所有内容进行了解释: