问题标签 [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.
php - 使用 Organizr 进行身份验证请求时,NGINX 给出 Err 500 或 504?
我目前正在设置 NGINX 以与我的家庭媒体服务器一起使用,并允许我通过organizr连接到我的 dPVR,例如雷达和声纳。我遇到的问题是,在为这些服务添加 auth-request 到我的每个位置块时,它们都在组织者身份验证之后,所有站点要么给出错误 500、504,要么尝试加载一些资产,但大多数返回 504,尽管配置为示例所建议的那样。主机服务器正在运行带有 Nginx 1.12.2 和 php-7.1.10 的 windows 2012R2。我的 nginx.conf 文件如下;
在查看我的错误日志后,关于上游超时或意外的身份验证响应反复出现相同的错误,我还将包括我的 php 和访问日志。底部的上游日志也表明它达到了 90 年代代理超时?如果有人可以建议是什么打破了这将是太棒了!
PHP日志:
最后访问日志
nginx - NGiNX auth_request set-cookie 用于下游?
尝试在 auth_request 调用中创建一个 cookie 并将其传递到下游以供立即使用。到目前为止,我能做到的最好的方法是在调用完成后在浏览器中设置 cookie:
直到下一个请求,该 cookie 才会在下游可用。我总是可以通过执行以下操作来获取新的 cookie,但将它放在新的标头名称中并不理想:
这允许 cookie 值作为自定义标头立即可用,但不如仅拥有 cookie 方便。
有什么建议么?
更新1:
我能够添加到现有的 cookie 或将它们完全替换为:
我无法想出一种方法来设置或只替换一个 cookie。
更新 2:
我可能可以使用 NGiNX 地图功能来完成这项任务:
spring-boot - 我可以在 oauth/check_token 端点中附加一些信息并在授权服务器上检索它吗?
前言
我正在开发OAuth
两台服务器之间的安全应用程序。我有一个OAuth Server
和一个Resource Server
。有Resource Server
一个.war
部署,其中包含4 APIs
.
单一职责
OAuth server
必须验证由(4 个中的 1 个)从相同的传递access token
的。API
.war
OAuth server
必须hit count
为特定的accessToken
特定保留一个API
。如果hit count
超出配置hits
,OAuth server
将抛出403: Forbidden。- 每个
API
人都.war
必须首先验证accessToken
来自OAuth server
,如果它被验证,然后继续提供响应。
我做了什么:
如果 a.war
有一个,API
那么我可以简单地使两个服务器使用 a 进行通信webHook
,下面是执行此操作的代码。
在资源服务器端:
我的不同 API 的网址是:
localhost:8080/API/API1
localhost:8080/API/API2
下面的代码路由任何请求,如果他们/API/anything
有spring security filters
我使用了远程令牌服务并定义了webHook
将请求路由到OAuth server
身份验证服务器的配置
我需要帮助:
问题在于对 single.war
和multiple API
. 问题是 spring 配置是在包级别创建的,因为所有的APIs
都.war
具有相同的clientID
和clientSecret
.
我的 OAuth 服务器如何知道,API
正在访问哪些具体内容以及API
需要hitCount
扣除哪些内容。
可能的解决方案?
我正在考虑在服务器上自定义RemoteTokenService
和添加请求参数,webHoot URL
然后在OAuth
服务器上使用过滤器来获取传递tag
(如果我可以这样称呼它)
这甚至可能吗?有没有比这更好的方法,不涉及所有这些工作?
redirect - nginx ingress annotations to redirect to authentication and get back headers
I've the below nginx conf file to redirect all the requests (by default) to /auth (of my service) and then get back a response header (foo_id). This header will be forwarded to the original request URI triggered by user. The below works properly with the nginx. ...
But I need the corresponding ingress rules/annotations that are required to achieve the above use case. I couldn't get the respective auth/proxy-pass related annotations. Kindly help out.
digital-signature - 使用两个证书和一个签名
我目前正在为客户开发 SSO 功能。
如果需要,我们的应用程序将在启动时使用 SSO 功能进行身份验证,如果失败则中止。
我已经阅读了很多解释,并在网上看到了很多例子。
我完全不明白的是证书。具体来说,操作中似乎使用了两个(不同的?)证书。其中一个作为常量存储在我这边,另一个在签名元素的 SAML 响应中发送,如下所示:
标记为“???”的字段 客户在示例响应中没有给我。
至于其他证书,一个很好的例子在这里: “App_Code/AccountSettings.cs”中的https://github.com/onelogin/dotnet-saml。
此外,XML 中还有一个签名,以及其他在线示例中似乎也包含 Base64 数据的两个“DigestValue”字段。
所以我的问题是:本地证书是否与 xml 证书相同,如果不是,它们究竟是如何相关的,签名和 DigestValues 在这种关系中是否相关?
至于上下文,我正在尝试测试我的 SSO 功能,除了证书,我无法弄清楚如何在没有实际值的情况下进行测试。这可以伪造吗?SignedXml.CheckSignature 似乎总是返回 false 无论我在 XML 中放什么,甚至是“真实”示例(在线找到)。
nginx - Keycloak 和 Nginx:auth_request
我正在尝试使用 keycloak 代理设置 auth_request,但它不起作用(Nginx 返回 500 状态代码)。
这是我的例子:
nginx.conf
代理.json
Nginx 日志:
- http://keycloak-proxy:8181 -> Keycloak 代理
- https://keycloak:443 -> 钥匙斗篷
- http://prometheus:9090 -> 普罗米修斯
- http://myexample.com -> Nginx
我想知道如何正确设置 auth_request。任何人都可以帮忙吗?
谢谢
authentication - 使用 auth_request 模块和外部身份验证 API 的 Nginx 反向代理 - 错误 404
我正在尝试将 nginx 配置为反向代理,以使用外部身份验证 API 保护另一台服务器(kibana)。
这是应该让我登录到 kibana 仪表板的 url - http://127.0.0.1/kibana_proxy?username=my.user&password=test67
一旦身份验证完成(即 https 状态 200),nginx 就会抛出 404 错误。但是错误日志有这个 -
2018/10/18 13:33:52 [错误] 10718#0: *19 open() "/usr/share/nginx/html/app/kibana" 失败(2:没有这样的文件或目录),客户端:127.0 .0.1,服务器:_,请求:“GET /app/kibana HTTP/1.1”,主机:“127.0.0.1”,引用者:“ http://127.0.0.1/kibana_proxy/?username=my.user&password=test67 ”
这是我的 nginx 配置文件 -
nginx - Nginx 请求参数仍然发送到 proxy_pass - 如何删除它们?
我的服务器中有这个 nginx conf -
因此,在 /auth 响应 http 状态 200 后,请求参数会附加到 proxy_pass,这会导致 http 状态 400 错误,并且我看不到受保护的 webapp(在本例中为 Kibana)。
我尝试在 /auth 位置下使用proxy_set_header X-Original-URI $request_uri;
和附加 /auth url $is_args$args
,但请求参数没有传递给 /auth API,这就是为什么这个正则表达式匹配并创建查询字符串 ($query)。
如何确保 proxy_pass (kibana) url 没有任何请求参数?
nginx - 我可以在 Nginx 中创建一个“私人”位置吗?
我可以创建一个可以被 nginx 配置中的任何其他位置访问并且不能从外部直接访问的位置吗?
我可以使用拒绝指令,但它也会拒绝访问 nginx 配置中定义的位置。
这是我的配置 -
所以,我需要最后一个位置才能从位置 /kibana/ 访问,但internal;
它会抛出 404 错误,没有它可以正常工作。
我实际上需要用 nginx 保护 kibana,但无论如何我最终会在没有任何身份验证的情况下有效地暴露它。
nginx - Nginx 未在成功验证时重定向到 url
我正在研究 nginx auth_request 模块,以便在对我的服务器的所有传入请求上放置一个身份验证层。目标是首先将每个 url 请求传递到登录页面,检查授权,然后重定向到为该 url 提到的特定页面。对于身份验证,我使用了一个简单的烧瓶应用程序,成功时返回 200,错误时返回 401。
我面临的问题是,在成功验证后,nginx 会给出 404 错误,而不是重定向到提到的 url。
另外,这里是我写的flask-app登录功能。