## Provided Capabilities (1)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.clustering.jgroups.auth-token | true | /subsystem=jgroups/channel=*/fork=*/protocol=AUTH/token=cipher /subsystem=jgroups/stack=*/protocol=AUTH/token=cipher /subsystem=jgroups/stack=*/protocol=AUTH/token=digest /subsystem=jgroups/channel=*/fork=*/protocol=AUTH/token=digest /subsystem=jgroups/channel=*/fork=*/protocol=AUTH/token=plain

## Attributes (1)

- shared-secret-reference - The credentials required to obtain the shared secret from the key store.

  Type | OBJECT
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "OBJECT"
          },
          "description" : "The credentials required to obtain the shared secret from the key store.",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "stability" : "default",
          "access-constraints" : {"sensitive" : {"credential" : {"type" : "core"}}},
          "value-type" : {
              "store" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The name of the credential store holding the alias to credential.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "capability-reference" : "org.wildfly.security.credential-store",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "alias" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The alias which denotes stored secret or credential in the store.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "requires" : ["store"],
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "type" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The type of credential this reference is denoting.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "clear-text" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The secret specified using clear text. Check credential store way of supplying credential/secrets to services.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              }
          },
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

## Operations (2)

- add - Adds an authentication token

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  shared-secret-reference | OBJECT | true | false |  | The credentials required to obtain the shared secret from the key store.

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Adds an authentication token",
          "request-properties" : {"shared-secret-reference" : {
              "type" : {
                  "TYPE_MODEL_VALUE" : "OBJECT"
              },
              "description" : "The credentials required to obtain the shared secret from the key store.",
              "expressions-allowed" : false,
              "required" : true,
              "nillable" : false,
              "stability" : "default",
              "value-type" : {
                  "store" : {
                      "type" : {
                          "TYPE_MODEL_VALUE" : "STRING"
                      },
                      "description" : "The name of the credential store holding the alias to credential.",
                      "expressions-allowed" : false,
                      "required" : false,
                      "nillable" : true,
                      "capability-reference" : "org.wildfly.security.credential-store",
                      "min-length" : 1,
                      "max-length" : 2147483647,
                      "stability" : "default"
                  },
                  "alias" : {
                      "type" : {
                          "TYPE_MODEL_VALUE" : "STRING"
                      },
                      "description" : "The alias which denotes stored secret or credential in the store.",
                      "expressions-allowed" : true,
                      "required" : false,
                      "nillable" : true,
                      "requires" : ["store"],
                      "min-length" : 1,
                      "max-length" : 2147483647,
                      "stability" : "default"
                  },
                  "type" : {
                      "type" : {
                          "TYPE_MODEL_VALUE" : "STRING"
                      },
                      "description" : "The type of credential this reference is denoting.",
                      "expressions-allowed" : true,
                      "required" : false,
                      "nillable" : true,
                      "min-length" : 1,
                      "max-length" : 2147483647,
                      "stability" : "default"
                  },
                  "clear-text" : {
                      "type" : {
                          "TYPE_MODEL_VALUE" : "STRING"
                      },
                      "description" : "The secret specified using clear text. Check credential store way of supplying credential/secrets to services.",
                      "expressions-allowed" : true,
                      "required" : false,
                      "nillable" : true,
                      "min-length" : 1,
                      "max-length" : 2147483647,
                      "stability" : "default"
                  }
              }
          }},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Removes an authentication token

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Removes an authentication token",
          "request-properties" : {},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "restart-required" : "resource-services",
          "runtime-only" : false
      }

## Galleon Features

Galleon features are to be used when creating Galleon feature-packs.

- subsystem.jgroups.stack.protocol.AUTH.token.plain

      <feature spec="subsystem.jgroups.stack.protocol.AUTH.token.plain">
        <param name="stack" value="{resource name}"/>
        <param name="shared-secret-reference" value="{value}"/>
      <feature/>