Keycloak服务器REST API配置指南
目录:
- 登录和创建
ream
- 配置
clients
和client
认证
- 定义角色和用户
- 用户组和会话
- 认证流程和身份提供者
- API概述
- 常见问题解答
登录和创建ream
在本视频中,让我们开始配置Keycloak。让我们首先登录。默认情况下,Keycloak提供了一个名为Master的ream
,但您也可以创建自己的ream
。ream
在这里表示一种组织,例如亚马逊或微软等。现在,让我们创建一个ream
。您可以看到一个选项,可以添加一个JSON文件进行配置。假设有几个开发人员,每个人都需要相同的配置。一个开发人员可以配置各种设置,并将配置导出并与其他开发人员共享。只需创建一个JSON文件,您可以浏览并上传该JSON文件,ream
名称也将从JSON中导入。在这里,我们正在从头开始创建一个ream
,让我们给它起个名字... 并启用。我正在创建一个ream
,所以在左侧我们可以看到ream
的各种配置。让我们一一了解每个配置。
配置clients
和client
认证
clients
是组织提供的应用程序列表。例如,在微软中,您可以考虑到Microsoft Teams和Microsoft Outlook等不同的产品。这些将是组织的不同产品。在这里,我选择了类型为开发者模式(Dev)的组织,并且我们需要为其中一个应用程序创建一个client
。我要做的是在这里为Quarkus应用程序创建一个client
,名为Quarkus Backend Application。在这一步中,您将看到是否要启用客户端认证和授权的选项。现在我只会启用认证,不希望启用授权。我的第一步将是在Quarkus应用程序内展示授权,然后再进行这一步,启用授权。如果您不启用客户端认证,使用Keycloak就没有任何意义。因此...最好启用此选项,您将看到认证流程,包括以下几个:标准流程和直接访问流程。我们对这两个感兴趣。标准流程类似于重定向到Keycloak的登录模板,而直接访问流程则更适用于REST API调用。由于我将实现REST API调用,我们将需要这个选项。点击下一步...登录设置中,我们需要一个有效的重定向URI。我的Quarkus应用程序将位于本地,端口将是8080,选择此选项。我不需要其他任何属性,网页起源用于指定具有对Keycloak访问权限的应用程序URI。对于我们的情况,可以是localhost:8080,但我将以星号表示。在真实的应用程序中,您需要提供您希望禁用CORS错误并具有访问权限的特定URI。点击保存。现在我们有了一个client
,我们不会对这些设置进行任何其他更改。在凭据中,您将看到client_ID和secret。此客户端的client_ID是Quarkus-be,并且客户端密钥可以在这里找到。您需要复制这个密钥,我们将看看如何使用它。如果您想要为该客户端提供一些客户端范围,您可以添加新的客户端范围和相关内容,但如果您不指定任何客户端范围,将使用默认的客户端范围,即Quarkus-be。这将是客户端范围。好的。在这里,客户端范围指定了访问令牌中包含的角色信息的数量。现在,我们只保留这些信息。会话中,您将看到用户的登录会话。高级设置中还有其他一些当前不感兴趣的属性。在这里已经解释过客户端范围。在ream
角色中,您可以为整个组织创建角色。如您之前在clients
中所见,这些是特定于客户端的角色,而ream
角色是此组织的全局角色,可以由在ream
中定义的任何客户端使用。用户部分列出了将访问此应用程序的用户列表。让我们在这里创建一个用户,名为Sagar Kumar,并创建密码。我不希望将其作为临时密码保留,因为该用户在首次尝试登录时需要更改密码。因此,我只是不将其保留为临时密码,并且默认情况下我不为该用户指定任何角色。当创建用户时,将分配一个默认角色给该用户。如果在这里查看ream
角色,可以发现这是默认角色,并且该默认角色是一个组合角色,即它包含其他角色。它具有层级关系。如果在这里查看,这些都是默认角色包含的角色,这是在ream
设置中指定的。如果要添加其他默认角色供用户默认添加,只需分配一个角色即可。会话会显示所有活动登录的会话。时间显示用户组通过名称将一组用户组织在一个组中。您可以在这里创建新组,并使用该组添加用户。会话显示已登录用户的列表。当前不会显示事件。在ream
设置中,我们正在关注会话和令牌,这些内容将在接下来的视频中介绍,现在不做详细介绍。在验证中,如果您想创建新的流程,可以创建新的流程。我只想向您展示直接授予流程的工作原理。如果在这里查看,用户名验证将首先完成,然后完成密码验证。如果您想启用条件性OTP和其他选项,可以进行设置。现在是不必要的,流程也在此处显示。您还可以使用社交网络作为身份提供者,用户联合LDAP提供程序等等。好的,我们已经看完了配置,现在让我们进入一些API的使用。
定义角色和用户组
功能亮点:
- 登录和创建
ream
- 配置
clients
和客户端认证
- 定义角色和用户
- 用户组和会话
- 认证流程和身份提供者
- API概述
- 常见问题解答
用户组和会话
认证流程和身份提供者
API概述
常见问题解答
常见问题1: 如何在Keycloak中创建新的ream
?
您可以通过在登录Keycloak后转到"Create Realm"选项来创建新的ream
。
常见问题2: 如何为Keycloak应用程序创建客户端?
要为Keycloak应用程序创建客户端,请转到"Clients"选项卡,然后点击"Create"按钮。
常见问题3: 如何为客户端启用认证和授权?
要为客户端启用认证和授权,请转到客户端设置,找到"Authentication"选项卡和"Authorization"选项卡,并进行相应的配置。
常见问题4: 如何在Keycloak中定义角色?
要在Keycloak中定义角色,请在对应的客户端或ream
中转到"Roles"选项卡,然后点击"Create"按钮创建新角色。
常见问题5: 如何为用户组创建会话?
要为用户组创建会话,请转到用户组选项卡,选择相应的用户组,然后点击"Create Session"按钮。
常见问题6: 如何配置Keycloak的认证流程?
要配置Keycloak的认证流程,请转到"Authentication"选项卡,然后单击"Add"按钮创建新的流程。
常见问题7: 如何在Keycloak中添加身份提供者?
要添加身份提供者,请转到"Identity Providers"选项卡,并选择相应的身份提供者,然后按照指示进行配置。
常见问题8: Keycloak的API有哪些?
Keycloak提供了丰富的API,包括用户管理、角色管理、会话管理、认证流程管理等。您可以通过查看Keycloak的API文档来获取更多详细信息。
常见问题9: 如何获取Keycloak的访问令牌?
要获取Keycloak的访问令牌,您需要使用相应的客户端和认证流程发送身份验证请求,并根据响应中的令牌信息进行解密和使用。
常见问题10: 我可以在Keycloak中使用自定义身份提供者吗?
是的,您可以在Keycloak中使用自定义身份提供者。您可以根据自己的需求开发和集成自己的身份提供者。
常见问题11: 如何使用Keycloak的REST API进行用户管理?
要使用Keycloak的REST API进行用户管理,您可以发送HTTP请求到相应的API端点,并提供必要的参数和数据。
常见问题12: 如何将Keycloak与现有应用程序集成?
要将Keycloak与现有应用程序集成,您可以使用Keycloak提供的适配器或使用Keycloak的REST API进行集成。
常见问题13: 如何在Keycloak中为用户分配角色?
要为用户分配角色,请在用户详细信息页面转到"Roles"选项卡,然后选择相应的角色并点击"Assign"按钮。