@Override
    public boolean authorizeRequest(final RegisteredServiceAccessStrategyRequest request) {
        val resolver = SpringExpressionLanguageValueResolver.getInstance();

        try (val client = buildAmazonVerifiedPermissionsClient()) {
            val authorizedRequest = IsAuthorizedRequest
                .builder()
                .principal(EntityIdentifier.builder()
                    .entityId(request.getPrincipalId())
                    .build())
                .resource(EntityIdentifier.builder()
                    .entityId(request.getService().getId())
                    .build())
                .action(ActionIdentifier.builder()
                    .actionId(resolver.resolve(actionId))
                    .build())
                .context(ContextDefinition.builder()
                    .contextMap(buildAuthorizationContextMap(request))
                    .build())
                .policyStoreId(resolver.resolve(policyStoreId))
                .build();
            return FunctionUtils.doAndHandle(() -> {
                LOGGER.debug("Sending authorization request [{}]", authorizedRequest);
                val authorizedResponse = client.isAuthorized(authorizedRequest);
                LOGGER.debug("Authorization response [{}], evaluated policies [{}]",
                    authorizedResponse.decisionAsString(), authorizedResponse.determiningPolicies());
                return authorizedResponse.decision() == Decision.ALLOW;
            }, e -> false).get();
        }
    }
This is {@link AmazonVerifiedPermissionsRegisteredServiceAccessStrategy}.

@author Misagh Moayyed
@since 7.0.0
support/cas-server-support-aws/src/main/java/org/apereo/cas/aws/authz/AmazonVerifiedPermissionsRegisteredServiceAccessStrategy.java