Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow IDPs to be set dynamically by other plugs #16

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion lib/samly/router_util.ex
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ defmodule Samly.RouterUtil do

@subdomain_re ~r/^(?<subdomain>([^.]+))?\./

def check_idp_id(conn, _opts) do
def check_idp_id(%Conn{private: %{samly_idp: %IdpData{}}} = conn, _opts), do: conn

def check_idp_id(conn, _opts), do: conn
idp_id_from = Application.get_env(:samly, :idp_id_from)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does this line ever return anything but nil ?
idp_id_from = Application.get_env(:samly, :idp_id_from)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line exists in the current codebase and is unaffected by this PR.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bmuller ya i was just reviewing your PR and i just happen to be reviewing this method. And that line will never actually return the value its trying to access.

The way it says in the README to setup your configs is for example

config :samly, Samly.Provider,
  idp_id_from: :path_segment,

So you would need to have that line be

Application.get_env(:samly, Samly.Provider)[:idp_id_from]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically every where in this app it calls Application.get_env() its doing it in conflict with how it says to define it in the README.


idp_id =
Expand Down