Class: RailsKeycloakAuthorization::PermissionsController

Inherits:
ApplicationController show all
Includes:
ResourcesHelper, WithHtmxLayout, WithKeycloakAdmin
Defined in:
app/controllers/rails_keycloak_authorization/permissions_controller.rb

Instance Method Summary collapse

Methods included from WithKeycloakAdmin

#realm_name

Instance Method Details

#createObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/controllers/rails_keycloak_authorization/permissions_controller.rb', line 20

def create
  resource = KeycloakAdmin.realm(realm_name).authz_resources(openid_client.id).get(params[:keycloak_resource_id] )
  scope = KeycloakAdmin.realm(realm_name).authz_scopes(openid_client.id, resource.id).get(params[:keycloak_scope_id])
  KeycloakAdmin
    .realm(realm_name)
    .authz_permissions(openid_client.id, :scope)
    .create!(
      "RKA #{resource.name} #{scope.name} ",
      "RailsKeycloakRails permission #{resource.name}",
      "UNANIMOUS",
      "POSITIVE",
      [ params[:keycloak_resource_id] ],
      [ params[:keycloak_policy_id] ],
      [ params[:keycloak_scope_id] ],
      "scope"
    )
  redirect_to permissions_path
end

#indexObject



7
8
9
10
11
# File 'app/controllers/rails_keycloak_authorization/permissions_controller.rb', line 7

def index
  @permissions = KeycloakAdminRubyAgent.list_keycloak_permissions
  @resources = KeycloakAdminRubyAgent.list_keycloak_resources_for_controllers
  @policies = KeycloakAdminRubyAgent.list_keycloak_policies
end

#resource_scopes_selectObject



13
14
15
16
17
18
# File 'app/controllers/rails_keycloak_authorization/permissions_controller.rb', line 13

def resource_scopes_select
  @resource_scopes = KeycloakAdmin
                      .realm(realm_name)
                      .authz_scopes(openid_client.id, params[:keycloak_resource_id])
                      .list
end