Package io.vertx.rxjava3.ext.web.sstore.cookie

## Class CookieSessionStore

- java.lang.Object
- - io.vertx.rxjava3.ext.web.sstore.SessionStore
  - - io.vertx.rxjava3.ext.web.sstore.cookie.CookieSessionStore

- All Implemented Interfaces:
    `io.vertx.lang.rx.RxDelegate`

      public class CookieSessionStore
      extends SessionStore
      implements io.vertx.lang.rx.RxDelegate

  A SessionStore that uses a Cookie to store the session data. All data is stored in encrypted form using `AES-256 with AES/GCM/NoPadding`.

  NOTE: This class has been automatically generated from the `original` non RX-ified interface using Vert.x codegen.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static io.vertx.lang.rx.TypeArg<CookieSessionStore>` | `__TYPE_ARG` |
    `static int` | `DEFAULT_SESSIONID_LENGTH` | Default length for a session id.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CookieSessionStore​(CookieSessionStore delegate)` |
    `CookieSessionStore​(Object delegate)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static CookieSessionStore` | `create​(Vertx vertx, String secret)` | Creates a CookieSessionStore.
    `static CookieSessionStore` | `create​(Vertx vertx, String secret, Buffer salt)` | Deprecated.
    `boolean` | `equals​(Object o)` |
    `CookieSessionStore` | `getDelegate()` |
    `int` | `hashCode()` |
    `static CookieSessionStore` | `newInstance​(CookieSessionStore arg)` |
    `String` | `toString()` |

    - ### Methods inherited from class io.vertx.rxjava3.ext.web.sstore.SessionStore

      `clear, close, create, create, createSession, createSession, delete, get, init, newInstance, put, retryTimeout, rxClear, rxDelete, rxGet, rxPut, rxSize, size`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### __TYPE_ARG

          public static final io.vertx.lang.rx.TypeArg<CookieSessionStore> __TYPE_ARG

    - #### DEFAULT_SESSIONID_LENGTH

          public static final int DEFAULT_SESSIONID_LENGTH

      Default length for a session id. More info: https://www.owasp.org/index.php/Session_Management_Cheat_Sheet
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CookieSessionStore

          public CookieSessionStore​(CookieSessionStore delegate)

    - #### CookieSessionStore

          public CookieSessionStore​(Object delegate)

  - ### Method Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `SessionStore`

    - #### equals

          public boolean equals​(Object o)

      Overrides:
        `equals` in class `SessionStore`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `SessionStore`

    - #### getDelegate

          public CookieSessionStore getDelegate()

      Specified by:
        `getDelegate` in interface `io.vertx.lang.rx.RxDelegate`
      Overrides:
        `getDelegate` in class `SessionStore`

    - #### create

          @Deprecated
          public static CookieSessionStore create​(Vertx vertx,
                                                  String secret,
                                                  Buffer salt)

      Deprecated.
      Parameters:
        `vertx` - a vert.x instance
        `secret` - a secret to derive a secure private key
        `salt` - ignored
      Returns:
        the store

    - #### create

          public static CookieSessionStore create​(Vertx vertx,
                                                  String secret)

      Creates a CookieSessionStore. Cookie data will be encrypted using the given secret. The secret as the name reflects, should never leave the server, otherwise user agents could tamper with the payload. The choice of GCM, ensures that no (IV, Key) is reusable, which means that there is no need for a salt. Also encrypting the same session multiple times will render different outputs, which prevents rainbow attacks.
      Parameters:
        `vertx` - a vert.x instance
        `secret` - a secret to derive a secure private key
      Returns:
        the store

    - #### newInstance

          public static CookieSessionStore newInstance​(CookieSessionStore arg)