问题标签 [auth-request]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nginx - 使用 NGINX auth_request 和 oauth2_proxy 设置标头
我想使用auth_request和oauth2_proxy在成功的身份验证请求上设置标头,然后将其传递给将处理实际请求的下一个内联代理。
我已经设置了 NGINX 和各种代理来做他们的事情,但是我不确定如何设置我用于身份验证请求的服务器的标头(图中的 AUTH PROXY),以便将该标头传递给下一个服务器(图中的 BACKEND SERVER)
我的 NGINX 配置看起来像
当我发出实际请求时,我在 NGINX 调试日志中看到以下内容(这是来自身份验证服务器的响应的一部分):
我想获取x-user
标头并将其传递给后端服务器。
我已经在location /
块中尝试了各种组合,但它们都没有奏效。例如
proxy_set_header x-user $upstream_http_x_user;
proxy_set_header x-user $http_x_user;
proxy_set_header x-user $sent_http_x_user;
proxy_pass_header x-user
这些似乎都不起作用。有什么想法可以完成这项任务吗?请注意,设置我要传递给后端服务器的标头的是身份验证代理,
nginx - nginx auth_request_set 不允许在上下文中测试变量
我正在寻找 fcgi 授权方的解决方法,这就是我的测试配置的外观:
如果我可以在子请求返回后立即测试变量$node
withing结构,那将是一件很高兴和很好的事情。if
不幸的是,它总是空的,我必须设置一个单独的服务器来解决它:
不幸的是,这仅在 $http_node 不为空并且返回 400(未知位置)时才有效,并且调试日志没有解释原因:
我已经花了整整两天的时间,真的需要一个新的输入......
php - 使用 auth_request 模块进行 Nginx 身份验证
我已经安装了启用了 auth_request 模块的 nginx,但是当我尝试设置身份验证时遇到了问题。我想通过 php 脚本进行身份验证,当用户向此位置发出请求时,然后向 php 文件发出 nginx 请求,如果响应为 2xx,则身份验证为 true,如果响应为 4xx,则身份验证失败。
这是我现在所做的,它正在完美地工作,但我不知道如何在 php 文件上传递参数,例如用户名密码: http ://example.com/live/index.php?username=test&password=密码
这是没有这些参数的配置。
谢谢
php - 从 nginx 将参数传递给 auth_request 模块
我想对实时 HLS 流进行 protext 处理。我想使用 auth_request 模块。我想通过传递密钥来检查请求是否有效。就像这样:http ://domain.com/hls/stream.m3u8?key=xxxxxxx
我在 nginx.conf 中有以下设置:
现在我需要在http://localhost.com:8080/on_play.php中获取 key=xxxxx 。
我尝试了很多,但似乎没有任何效果。我也尝试过类似的东西:
但这也行不通。似乎不可能在 on_play.php 中获得关键参数
$_SERVER["REQUEST_URI"] 也不包含参数。
还尝试了以下配置:
我也尝试过这样的事情,但这也不起作用:
但这也行不通。
nginx -V 的输出是:
我可以在 php 中读取 $_SERVER["HTTP_X_ORIGINAL_URI"],但我喜欢将变量与 $_GET 一样。这似乎不起作用。
从下面的日志中可以看到,子请求中只添加了 $is_args 变量。debug.log 如下:
nginx - 如何将两个 nginx 模块链接在一起?
鉴于我的设置,我需要做一个重定向规则,但前提是请求没有被ngx_http_auth_request_module授权。
我做了一些搜索,但找不到任何东西。我应该能够根据请求授权的结果设置一个全局变量,然后ngx_http_rewrite_module将能够只给客户端一个 200 响应,但具有我选择的自定义内容。
我正在提供视频播放器,所以除了 200 之外,我无法返回任何其他响应代码,否则将不会播放警告视频。
web - 如何根据子请求设置变量值
如果用户正确登录,我将尝试根据结果设置变量的值。我将将此变量用于条件 ssi。我正在使用auth_request module
来授权用户。此授权适用于所有页面。我面临的问题是,对于 401/403 错误,NGINX 会传递401
给客户端。我想要做的是无论如何都显示一些页面(即使授权失败),但是为条件 ssi 设置变量(到子请求的状态)。
配置文件
python - 如何使用 nginx auth_request 模块 + python 授权访问目录
我想授权/private
使用auth_request
Nginx 模块访问目录。
在Nginx 文档中,似乎我应该像下面这样:
在我的例子http://localhost:8080/
中是一个 python 服务器,它应该根据数据库对用户进行身份验证。这是python代码:
现在,当我http://localhost/private/
在浏览器中访问时,它会打印:
等待我返回的代码
问题:如何请求/接收用户名和密码数据,以便引发 401 异常或让用户通过?
nginx - Nginx 单点登录 - auth_request 模块
我希望实现的流程
我该如何执行这样的微服务架构?主要的是我想将数据从一个微服务传递到另一个微服务,同时不授予对第二个微服务的访问权限,如果
apache - NGINX proxy_pass 到另一个端口
我正在尝试通过代理传递在 nginx 中执行 auth_request,但我不断收到:
这是我的配置:
请求应该被发送到正在监听端口 5029 的 apache 服务器。我做错了什么?
ajax - 我如何处理会话 cookie 设置,然后将其与 NGINX auth_request 一起使用?
我们正在尝试实现一个简单的身份验证机制,使用 NGINX 作为代理服务器和 auth_request 来保护一些静态文件。
- 静态文档位于docs.mydomain.com
- 使用电子邮件/密码生成会话令牌的 API 在login.otherdomain.com中(它将返回带有电子邮件和会话令牌的 JSON)
当前的身份验证过程如下所示:
当用户尝试访问 docs.mydomain.com 时,他们将看到一个登录表单。在那里,他们输入他们的凭据,然后通过 AJAX 发送电子邮件/密码,API 会给我们一个会话令牌,我们将它存储在一个 cookie 中,类似这样(还注意到在 login.otherdomain.com 我有启用身份验证)。
/li>然后表单实际发送(使用 GET),您可以看到请求中清除的字段(电子邮件和密码)看起来有点难看。请求被发送到 docs.mydomain.com/docs,它将根据 login.otherdomain.com 检查会话令牌并验证它是否仍然有效,所有这些都使用 nginx auth_request ( https://developers.shopware.com/blog/2015 /03/02/sso-with-nginx-authrequest-module/)。像这样的东西:
/li>
然后显示文档。我们仍然需要对错误消息进行干净的处理,但这首先是可行的。尽管如此,它仍然感觉很难看(特别是获取会话令牌的 AJAX 请求),我认为应该有更好的方法来做到这一点。关于如何改进的任何想法?我们尝试实现这一点的方式是否存在安全隐患?