有没有任何方法可以在不使用其UI的情况下使用KeyCloak身份验证



所以,我正在构建一个API系统。我想使用KeyCloak进行身份验证和用户管理,因为它具有不错的访问控件。我将其集成到KTOR,希望我的用户使用自己的UI。或者至少,我想制作UI。

我已经阅读了主题自定义,但这不是我想要的。我也知道,KeyCloak UI已紧密整合在其代码中。我只是希望知道至少在客户端应用程序中之一是移动应用程序时,我是否可以使用Android UI用于整个登录流?

如果不可能,我认为这不可能是可能的,那么是否有其他库或框架可以进行访问控制,可以使用KTOR?

如果您不想使用keycloak ui或创建自己的自定义主题,则可以利用资源所有者密码凭证授予流。

为此,创建一个新的或使用现有的confidential客户端。确保将Direct Access Grants Enabled开关切换到ON。

此后,从您的客户端获得令牌(网页,CLI,移动设备)。在这里,我正在使用curljq来简单:

KCHOST=https://yourkeycloak.com
REALM=your-realm
CLIENT_ID=your-confidential-client
CLIENT_SECRET=xxxxxxx-yyyyyyyy-zzzzzzzzz
ACCESS_TOKEN=`curl 
  -d "client_id=$CLIENT_ID" -d "client_secret=$CLIENT_SECRET" 
  -d "grant_type=client_credentials" 
  "$KCHOST/auth/realms/$REALM/protocol/openid-connect/token"  | jq -r '.access_token'`

P.S。用于调试,我创建了一个名为Brauzie的CLI工具 可以帮助您获取和分析JWT令牌(范围,角色等)。它可以 用于公共和机密客户。你也可以 使用Postman和https://jwt.io

hth:)

您也可以如下所述使用KeyCloak Admin客户端。

相关内容

最新更新