【问题标题】:When enabling oauth2 on pgadmin for gitlab, i get Missing jwks_uri in metadata error在 pgadmin 上为 gitlab 启用 oauth2 时,出现元数据错误中缺少 jwks_uri
【发布时间】:2023-01-24 07:52:01
【问题描述】:

我使用的配置来自:enabling oauth2 with pgadmin and gitlab

主要区别在于,我在https://gitlab_company_org 有一个本地 gitlab 设置 和一个位于http://pgadmin_projectx_company_org:8000 的本地(dockered)pgadmin 实例

但是当我尝试登录时出现错误:{"success":0,"errormsg":"Missing \"jwks_uri\" in metadata","info":"","result":null,"data":null}

所以我的配置是:

配置_本地.py:

AUTHENTICATION_SOURCES = ['oauth2', 'internal']
MASTER_PASSWORD = True
OAUTH2_CONFIG = [
    {
        'OAUTH2_NAME': 'gitlab',
        'OAUTH2_DISPLAY_NAME': 'Gitlab',
        'OAUTH2_CLIENT_ID': 'gitlab_client_id',
        'OAUTH2_CLIENT_SECRET': 'gitlab_client_secret',
        'OAUTH2_TOKEN_URL': 'https://gitlab_company_org/oauth/token',
        'OAUTH2_AUTHORIZATION_URL': 'https://gitlab_company_org/oauth/authorize',
        'OAUTH2_API_BASE_URL': 'https://gitlab_company_org/oauth/',
        'OAUTH2_USERINFO_ENDPOINT': 'userinfo',
        'OAUTH2_SCOPE': 'openid email profile',
        'OAUTH2_ICON': 'fa-gitlab',
        'OAUTH2_BUTTON_COLOR': '#E24329',
    }
]
OAUTH2_AUTO_CREATE_USER = True

run_pgadmin.sh

mkdir -p ./pgadmin
mkdir -p ./pgadmin/data

touch ./pgadmin/config_local.py

chown -R 5050:5050 ./pgadmin

docker stop pgadmin
docker rm pgadmin

docker pull dpage/pgadmin4
docker run -p 8000:80 \
    --name pgadmin \
    -e 'PGADMIN_DEFAULT_EMAIL=pgadmin@company.org' \
    -e 'PGADMIN_DEFAULT_PASSWORD=somesupersecretsecret' \
    -e 'PGADMIN_CONFIG_LOGIN_BANNER="Authorised users only!"' \
    -v /opt/container/pgadmin/data:/var/lib/pgadmin \
    -v /opt/container/pgadmin/config_local.py:/pgadmin4/config_local.py:ro \
    -d dpage/pgadmin4

当尝试通过 gitlab 按钮登录时,我获得了 gitlab 登录名,然后我允许应用程序通过 gitlab 登录,但之后我收到错误:{"success":0,"errormsg":"Missing \"jwks_uri\" in metadata","info":"","result":null,"data":null} ..这似乎是对:http://pgadmin.projectx.company.org:8000/oauth2/authorize?code=VERYLONGCODE&state=SOMEOTHERKINDOFCODE 的 json 响应

解决方案:感谢 Aditya Toshniwal:我在 dockerhub 上尝试了新的 dpage/pgadmin4:snapshot 或 2023-01-09-2 标签,并且不得不添加 OAUTH2_SERVER_METADATA_URL 参数(值:https://gitlab_company_org/oauth/.well-known/openid-configuration),这是我在他的问题中找到的提到,现在这个东西可以与 gitlab onprem 一起使用。惊人的!

【问题讨论】:

    标签: docker gitlab pgadmin


    【解决方案1】:

    该问题已修复 - https://github.com/pgadmin-org/pgadmin4/issues/5666 并将在本周发布的 pgAdmin 版本中提供。您也可以在这里尝试候选版本 - https://developer.pgadmin.org/builds/2023-01-09-2/

    【讨论】:

    • 哦,我不认为这是 pgadmin 方面的问题。谢谢!我的声望不够高,不能给你竖起大拇指。
    • 我在 Azure AD 上遇到了同样的问题,我添加了这个; 'OAUTH2_SERVER_METADATA_URL': 'login.microsoftonline.com/common/v2.0/.well-known/…',但随后得到无效声明?我是掉进了兔子洞还是我现在遇到了不同的问题,现在这个问题已经解决了?
    猜你喜欢
    • 2021-10-09
    • 2022-12-18
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 2020-10-17
    相关资源
    最近更新 更多