gpt4 book ai didi

azure - 如何使用 Nginx 和 Microsoft Azure AD 进行身份验证?

转载 作者:行者123 更新时间:2023-12-05 05:15:16 25 4
gpt4 key购买 nike

我需要有一种舒适的方式来允许特定用户使用 Nginx 从 AAD 到上游应用程序进行身份验证。我找到了一些信息:

编辑:也许这是 nginx 的第 3 方 jwt foss 模块 https://github.com/TeslaGov/ngx-http-auth-jwt-module

编辑2:openresty 的 lua-resty-openidc 看起来很棒,甚至维护得很好。仅缺少 Azure 示例。

编辑3:我想知道是否可以使用

AAD -> Keycloak -> Keycloak 代理 -> Nginx(auth_request 到 keycloak 代理)

有没有可靠的替代方案?谢谢

最佳答案

我不熟悉 AAD,但如果您已经在您的环境中授权了客户端,那么 Nginx auth request module是将上游服务的身份验证委托(delegate)给现有授权服务器的一种非常简单的方法。

Nginx 中的示例指令:

location /upstream/ {
auth_request /auth;
...
}

location = /auth {
proxy_pass http://your-auth-server:1234;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Authorization $http_authorization;
}

Nginx 将为每个到/upstream/的客户端请求向/auth 发出内部子请求,您将其代理到您的身份验证服务器,并传递授权客户端请求所需的任何信息。在此示例中,客户端 IP 及其授权 header 。

您的身份验证服务器执行该操作,然后如果您想允许访问,则使用 http 代码 200 进行响应,如果不允许,则使用 401/403 进行响应。 Nginx 然后根据响应代码允许或拒绝客户端请求。

关于azure - 如何使用 Nginx 和 Microsoft Azure AD 进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51769501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com