Plug.Session.COOKIE

Stores the session in a cookie.

This cookie store is based on Plug.Crypto.MessageVerifier and Plug.Crypto.Message.Encryptor which encrypts and signs each cookie to ensure they can’t be read nor tampered with.

Since this store uses crypto features, it requires you to set the :secret_key_base field in your connection. This can be easily achieved with a plug:

plug :put_secret_key_base

def put_secret_key_base(conn, _) do
  put_in conn.secret_key_base, "-- LONG STRING WITH AT LEAST 64 BYTES --"
end

Options

Examples

# Use the session plug with the table name
plug Plug.Session, store: :cookie,
                   key: "_my_app_session",
                   encryption_salt: "cookie store encryption salt",
                   signing_salt: "cookie store signing salt",
                   key_length: 64
Source

Summary

delete(conn, sid, opts)

Callback implementation for Plug.Session.Store.delete/3

get(conn, cookie, opts)

Callback implementation for Plug.Session.Store.get/3

init(opts)

Callback implementation for Plug.Session.Store.init/1

put(conn, sid, term, opts)

Callback implementation for Plug.Session.Store.put/4

Functions

delete(conn, sid, opts)

Callback implementation for Plug.Session.Store.delete/3.

Source
get(conn, cookie, opts)

Callback implementation for Plug.Session.Store.get/3.

Source
init(opts)

Callback implementation for Plug.Session.Store.init/1.

Source
put(conn, sid, term, opts)

Callback implementation for Plug.Session.Store.put/4.

Source