Authentication 如何使用keydove保护前端和restapi

Authentication 如何使用keydove保护前端和restapi,authentication,keycloak,keycloak-services,keycloak-rest-api,keycloak-connect,Authentication,Keycloak,Keycloak Services,Keycloak Rest Api,Keycloak Connect,我对KeyClope服务器非常陌生,希望使用它来保护我的前端应用程序和后端rest API,它们也可以通过互联网打开。到目前为止,我所理解和做的是在Keycloack上创建2个客户端,1个用于前端,它使用客户端协议(openid connect)和访问类型(Public),然后在客户端,我使用adopter将用户重定向到KeyClock登录页面并进行身份验证和获取令牌。现在对于后端(rest api),我已经创建了一个单独的客户端,它再次使用客户端协议(openid connect),但具有访问

我对KeyClope服务器非常陌生,希望使用它来保护我的前端应用程序和后端rest API,它们也可以通过互联网打开。到目前为止,我所理解和做的是在Keycloack上创建2个客户端,1个用于前端,它使用客户端协议(openid connect)和访问类型(Public),然后在客户端,我使用adopter将用户重定向到KeyClock登录页面并进行身份验证和获取令牌。现在对于后端(rest api),我已经创建了一个单独的客户端,它再次使用客户端协议(openid connect),但具有访问类型(机密)和身份验证流:浏览器流和直接授权流都是直接授权,然后我获得客户端id和客户端机密来调用KeyClope rest api

现在,我希望当用户从前端进行身份验证并获取令牌并向我的rest API发送头请求时,在这里我调用一些KeyClope rest API,通过提供客户机id和客户机机密来验证该令牌

我正在使用Key斗篷的以下rest api来验证我在前端生成的令牌:

http://localhost:8120/auth/realms/evva_realm/protocol/openid-connect/token/introspect
但结果是:

{
    "active": false
}

可能是我使用了一些错误的api或整个架构来验证和保护我的后端api不正确。有人能帮我弄清楚问题出在哪里吗?

@user565我找到了这篇适合我的中篇文章。我相信你也能从中受益

它基本上创建了两个客户端,一个用于后端,另一个用于前端。关键在于,它们通过利用客户机范围、角色和复合角色特性共享相同的角色

希望有帮助: