-
Notifications
You must be signed in to change notification settings - Fork 9
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
Tech Question: Do we even Need an AUTH_API_KEY
? π π€·ββοΈ
#277
Comments
"an
|
OK, I've thought about this a lot from both the security and usability perspectives. π
|
I agree with the changes. However, even though this following question might be me missing something... I wonder if, even though the |
|
But yes, you're right. perhaps the the If the |
Continuing on from our discussion in: #268
and with the benefit of our knowledge from
Flutter
andJS
-land ...Trying to think about
auth
from first principals ...How are we going to enable
auth
in ourFlutter
app with the least code possibleand without the need for keeping "secrets" ... π
Why do we have an
AUTH_API_KEY
in the first place?We (I) created an
AUTH_API_KEY
because I thought that it was needed for identifying/verifying whichApp
is usingauth
for authenticating the person. But when I think about it with my beginner's mind I'm forced to think "Why...?" π€·ββοΈIf someone is running a
Phoenix
App onlocalhost
then we know they are in "Dev" mode, right? π©βπ»So why do they need to have an
AUTH_API_KEY
to identify them? π€The
AUTH_API_KEY
doesn't provide theperson
using theapp
any additional securityit's just an extra step for the Dev/Engineer to setup ...
Does
auth
need anAPI_KEY
or can we just do domain-based verification? πCan we just create an "Allowed List" for urls that are allowed to use
auth
and reject any other URL?We currently require the
URL
to be defined for anapp
, e.g: https://auth.dwyl.com/apps/45If we are doing a domain-based verification, then do we need an
AUTH_API_KEY
? πWhat real additional security is the
AUTH_API_KEY
giving us?Is it just perceived security because we've been trained to think that
API Keys
are the "right" way to do this? π€How will an attacker exploit a system that only has domain-based verification?
Hypothetically, if we were to completely remove the
AUTH_API_KEY
,how would a malicious person ("attacker") attempt to use our
auth
systemto get people to login with their Google/GitHub/etc account and steal their data? π
If the attacker can intercept a request or create a fake page that looks like our
App
,and use our own
auth
endpoint to authenticate aperson
and then replaythe successful
JWT
back to theApp
they can read theperson's
data ...How can we do domain-based verification on a Distributed App?
If our
Flutter App
is web-based or deployed to theApp/Play Store
,will there be a "domain" for it? π
And if there is no domain associated with the "Native" App, how do we verify it? π€·ββοΈ
Is there a unique string associated with the
iOS
orAndroid
build that cannot be spoofed?These are the questions that are on my mind right now as I'm thinking about
auth
in generaland specifically gearing up to re-write
auth
from first principals to be an order of magnitude simpler.The text was updated successfully, but these errors were encountered: