Loads the host's validated Attesto configuration into conn.private.
AttestoPhoenix controllers use two immutable configuration values:
%AttestoPhoenix.Config{}under:attesto_phoenix_config- the derived
%Attesto.Config{}under:attesto_protocol_config
Mount this plug in the pipeline passed to AttestoPhoenix.Router.attesto_routes/1:
pipeline :attesto_phoenix_config do
plug AttestoPhoenix.Plug.PutConfig, otp_app: :my_app
end
scope "/" do
attesto_routes(pipeline: :attesto_phoenix_config)
endThe explicit :otp_app option is preferred. When it is omitted, the plug
reads config :attesto_phoenix, otp_app: :my_app at request time. Existing
correctly typed private values are preserved, which lets a host install a
request-specific configuration earlier in the pipeline. A preinstalled
protocol config must exactly match the value derived from that request's host
config; otherwise the plug fails closed instead of advertising policy that
the token endpoints do not enforce. A value of the wrong type also fails
closed instead of being silently replaced. This plug is the reference
implementation and convenient route helper for installing both private values,
but hosts may also populate them directly using custom plugs. Library
controllers and AttestoPhoenix.Plug.Authenticate bind the private
configuration only while their bounded work executes; this plug does not
retain tenant state in the process dictionary between pipeline and action
dispatch.
Summary
Types
@type options() :: %{otp_app: atom() | :from_application_env}