构建,部署和测试应用程序

现在,app-authz-vanilla资源服务器(或客户端)已正确配置并启用了授权服务,可以将其部署到服务器。

将要部署的应用程序的项目和代码可以在Keycloak Quickstarts Repository中找到。需要在您的计算机上安装以下安装,然后才能继续执行:

  • Java JDK 8

  • Apache Maven 3.1.1 or higher

  • Git

您可以通过在https://github.com/keycloak/keycloak-quickstarts克隆资源库来获取代码。默认分支对应于Keycloak的最新版本。按照以下步骤下载代码。

克隆项目:

$ git clone https://github.com/keycloak/keycloak-quickstarts

即将建立和部署的应用程序位于:

$ cd keycloak-quickstarts/app-authz-jee-vanilla

获取适配器配置

首先在构建和部署应用程序之前获取适配器配置。

要从Keycloak管理控制台获取适配器配置,请完成以下步骤:

 1.单击客户端。在客户端列表中,单击app-authz-vanilla客户端应用程序。客户端详细信息页面打开

2.单击安装选项卡。从格式选项下拉列表中,选择Keycloak OIDC JSON。适配器配置以JSON格式显示。点击下载。

3.将文件keycloak.json移动到app-authz-jee-vanilla / config目录。

4.(可选)默认情况下,当用户缺少访问资源服务器上的资源的权限时,策略执行者将以403状态代码进行响应。但是,还可以为未经授权的用户指定重定向URL。要指定重定向URL,请编辑您在步骤3中更新的keycloak.json文件,并将策略执行程序配置替换为以下内容:

"policy-enforcer": {
    "on-deny-redirect-to" : "/app-authz-vanilla/error.jsp"
}

如果用户没有访问受保护资源的必要权限,而不是无用的403未经授权的消息,则此更改将指定策略执行者将用户重定向到/app-authz-vanilla/error.jsp页面。

构建和部署应用程序

要构建和部署应用程序,请执行以下命令:

$ cd redhat-sso-quickstarts/app-authz-jee-vanilla
$ mvn clean package wildfly:deploy

测试应用程序

如果您的应用程序成功部署,您可以访问http://localhost:8080/app-authz-vanilla。 Keycloak登录页面打开。

使用您为该用户指定的密码以alice身份登录。验证后,显示以下页面:

当您为客户端应用程序启用授权服务时,Keycloak定义的默认设置提供了一种简单的策略,它始终允许访问受此策略保护的资源。

您可以从更改默认权限和策略开始,并测试应用程序的响应方式,甚至使用Keycloak提供的不同策略类型创建新策略。

现在有很多事情可以用来测试这个应用程序。例如,您可以通过单击客户端的“授权”选项卡,然后单击“策略”选项卡来更改默认策略,然后单击列表中的“默认策略”,以允许您按如下所示进行更改:

// The default value is $evaluation.grant(),
// let's see what happens when we change it to $evaluation.deny()
$evaluation.deny();

现在,退出演示应用程序并重新登录。您无法再访问该应用程序。

让我们现在解决一下,而不是更改默认策略代码,我们将使用策略代码文本区域下方的下拉列表将逻辑更改为否定。这将重新启用对应用程序的访问,因为我们正在否定该策略的结果,默认情况下拒绝所有访问请求。再次,在测试此更改之前,请确保注销并重新登录。

下一步

还有其他的事情你可以做,如:

  • 创建作用域,为其定义策略和权限,并在应用程序侧进行测试。用户可以执行一个动作(还是由您创建的范围表示的任何内容)?

  • 创建不同类型的策略,例如基于角色,基于用户,基于时间,聚合策略或基于规则的策略,并将这些策略与默认权限相关联。

  • 对“默认权限”应用多个策略并测试行为。例如,组合多个策略并相应地更改决策策略。

  • 有关如何在应用程序中查看和测试权限的更多信息,请参阅获取授权上下文

results matching ""

    No results matching ""