Comments (5)
Ahh, actually this won't work, as stated in Plug docs init
might be called during compilation.
from verk_web.
It probably could be something simple like this:
defmodule VerkBasicAuth do
@behaviour Plug
def init(_opts) do
if Application.get_env(:verk_web, :authorization) do
BasicAuth.init(use_config: {:verk_web, :authorization})
else
:no_auth
end
end
def call(conn, :no_auth), do: conn
def call(%{request_path: "/verk" <> _} = conn, opts), do: BasicAuth.call(conn, opts)
def call(conn, _), do: conn
end
from verk_web.
I have submitted a PR in Verk to address this kind of issue by leveraging Confex. Happy to submit a PR here to do the same.
from verk_web.
@tlvenn, I don't think this issue is related to environment variables versus application configuration. I may be completely wrong here but the issue here is that the plug
is added at compile time.
from verk_web.
Good catch @edgurgel. With Phoenix 1.3, you can leverage load_from_system_env
to solve this problem:
@doc """
Dynamically loads configuration from the system environment
on startup.
It receives the endpoint configuration from the config files
and must return the updated configuration.
"""
def load_from_system_env(config) do
config = Confex.process_env(config)
unless config[:secret_key_base] do
raise "Set SECRET_KEY environment variable!"
end
{:ok, config}
end
https://github.com/Nebo15/pkcs7_verify.api/blob/master/lib/pkcs7_verify_api/web/endpoint.ex#L30
from verk_web.
Related Issues (20)
- Busy page should show how many workers are idle
- Publish docker image on docker hub HOT 3
- Need remove GenEvent, Verk.EventManager etc HOT 1
- Add "select all" from the page on Retries
- error in template HOT 2
- Dashboard: Incorrect internal links HOT 4
- Delete all button on retries is not firing request HOT 2
- Support for Phoenix 1.3.0 HOT 3
- Authentication is not working in prod HOT 1
- Running jobs should list all the jobs being run in the cluster HOT 5
- Add a "Run Job" on Scheduled jobs HOT 3
- Phoenix 1.4 mount issue HOT 2
- Run verk_web on different machine than verk HOT 1
- Cowboy 2 support? HOT 2
- Websockets in umbrella
- Mount verk_web under protected scope instead of basic auth? HOT 3
- Elixir 1.11 requires new phoenix and new pubsub HOT 1
- Deleting a job with job id HOT 2
- Can't start verk web as a server
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from verk_web.