Subject: OAuth error when logging in

From: Florian Sabonchi <[email-masked]>
Date: Sun, 28 Mar 2021 17:42:25 +0200

Hello I would like to integrate OAuth in PG-Admin. Unfortunately I have 
the error that I am redirected back to the home page. Unfortunately I 
could not find this error, what surprises me is that 
current_user.is_authenticated is set to True. For this reason I just 
wanted to ask maybe someone knows what the problem is. You can find my 
source code here:

https://github.com/FlorianJSa/pgadmin4/blob/OAuth2/web/pgadmin/authenticate/__init__.py

I would be very happy if someone could help me with this problem. 
Because I unfortunately have no idea what this could be for an issue

---

From: Dave Page <[email-masked]>
Date: Mon, 29 Mar 2021 08:27:41 +0000

Hi

> Because I unfortunately have no idea what this could be for an issue

Khushboo (CC'd) is most familiar with this code as she wrote the plugin
auth system - hopefully she can help point you in the right direction.

However; we have discussed OAuth briefly in the past and never quite
figured out what to do about saving Postgres passwords. Have you thought
about that? The issue is that we won't have anything secret to use in an
encryption key as pgAdmin won't see the user's password. We have the same
issue with Kerberos, however the solution we came up with there was to
simply disable password saving which is fine because in most environments
the user will use Kerberos to authenticate to Postgres anyway (which
Khushboo is working on right now).

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EDB: http://www.enterprisedb.com

---

From: Khushboo Vashi <[email-masked]>
Date: Mon, 29 Mar 2021 15:16:27 +0530

Hi Florian,

As Dave mentioned, we use the user's password as an encryption key for
saving Postgres passwords, and we do so by maintaining KeyManager. As for
OAuth implementation, you do not have a password, you need to bypass this
step ( and that is the reason you are being redirected to the login page
because of no secret key). Check the code at line no 713 in
https://github.com/FlorianJSa/pgadmin4/blob/OAuth2/web/pgadmin/__init__.py
which is causing logout for you.

Thanks,
Khushboo