Skip to content

Instantly share code, notes, and snippets.

@landongn
Created December 16, 2016 19:13
Show Gist options
  • Save landongn/353c6c1945047d01705747e7efb0f883 to your computer and use it in GitHub Desktop.
Save landongn/353c6c1945047d01705747e7efb0f883 to your computer and use it in GitHub Desktop.
defmodule Server.SessionPlug do
@behaviour Plug
import Plug.Conn
require Logger
def init(opts), do: opts
def call(conn, _) do
Logger.info "SessionPlug: Looking for session for player"
player = conn |> get_session(:player)
if player do
Logger.info "Found player! #{inspect player.id}"
conn |> assign(:token, Phoenix.Token.sign(Server.Endpoint, "token", player.email))
else
conn
end
end
end
@landongn
Copy link
Author

  pipeline :browser do
    plug :accepts, ["html"]
    plug :fetch_session
    plug :fetch_flash
    plug :protect_from_forgery
    plug :put_secure_browser_headers
    plug Server.SessionPlug, repo: Server.Repo
  end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment