问题标签 [guardian]
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.
elixir - 使用 Guardian 进行 API 身份验证测试
我正在尝试测试我的控制器,但我一直遇到监护人“未经身份验证”错误。我想我知道哪里出了问题,但我只是不确定为什么它不起作用。这就是我所拥有的。
这是正确地创建和签署 JWT,但由于某种原因,它没有在路由器中对其进行身份验证。这里是路由器。
我认为这是我出错的地方,因为文档显示如果未解决此路由器插头,则会出现此错误:
错误:
如何在控制器测试中成功使用监护人?
elixir - Elixir/Phoenix/Guardian - 在 conn 中分配 current_user 不适用于测试
如果有一些这样的控制器
如果我运行这个测试,我希望它调用第一个 #index 操作,但它调用第二个操作,没有用户,并且由 conn 分配%{current_user: nil}
为什么没有正确分配 current_user?为什么会消失?
authentication - Guardian 的问题 - EnsureAuthenticated 不起作用
我正在尝试让 Guardian auth 为我的应用程序工作。但我完全陷入困境,找不到任何支持我遇到的问题。
据我所知,我已经准确地设置了 Guardian 文档显示的方式,但是当我在浏览器中测试身份验证时,它在 Guardian 提供的 EnsureAuthenticated 插件上失败。
这是我正在使用的内容:
配置:
所有值都在应用程序中正确填写。
认证控制器:
在这个控制器中它失败了。当它进入 EnsureAuthenticated 插件时,它会停在那里。但此时我的标头中有一个有效的 JWT。
这是我们的参数:
我已验证 JWT在此处有效。
要求:
同样,问题是我的身份验证失败了Plug.EnsureAuthenticated
。但我不明白为什么,因为我似乎正确设置了所有内容并且 JWT 位于 auth 标头中。
elixir - 监护人的问题 - 如何在登录时生成访问和刷新令牌
为了使 JWT 失效,人们使用两种方法之一
- 黑名单/白名单(带有 Guardian_db)。
- 一个刷新令牌(允许重新生成访问令牌)和一个即将过期的访问令牌。
我不想在我的项目中使用 Guardian_db。那么,我如何在登录端点中生成访问令牌和刷新令牌?
我的代码是:
文件 mix.ex
文件 config.exs
文件 aut_access_pipeline.ex
文件 auth_controller.ex
文件监护人.ex
使用此代码,我有一个有效的访问令牌,但我不知道如何生成刷新令牌以在他过期时重新生成/刷新访问令牌......
有人可以帮忙吗?
authentication - Guardian.Plug.current_resource(conn) 返回 nil
我正在将 Guardian 从 更新v0.14
为v1.0
。
我正在关注官方监护人 github 页面的更新指南,但遇到了一个问题。
为了更新,我稍微改变了我的身份验证逻辑。
从:
至:
而我nil
从Guardian.Plug.current_resource(conn)
……为了解决这个问题,我存储token
在前端localStorage
并通过它来获取用户信息。
但我仍然认为从current_resource
. 我怎样才能做到这一点?
- 编辑
current_user_controller.ex
https - IE11 在 HTTPS 网站上非常慢
我们有一个内部 Web 应用程序,因为简短,它在 IE11 中非常慢。Chrome 和 Firefox 没有这个问题。我们有同一个网站的 HTTP 版本,速度很快,最多可以有 6 个并发 HTTP 会话到服务器和会话持久性。但是,当我们更改为 HTTPS 时,这一切都会改变。我们仍然有会话持久性,但只有 2 个与服务器同时进行的会话,并且每个请求似乎都需要很长时间。慢的不是服务器响应,而是 IE11 发送请求(以及下一个请求)之前的“开始”时间。连接图变成了一个阶梯,一次发出一个请求,一个接一个。即使请求本身只返回几个字节,每个请求也需要 100-200 毫秒。
工作站安装了 Symantec Endpoint Protection (12.1),还安装了 Digital Guardian 软件 (4.7)。
elixir - 检查用户是否在 Phoenix 模板中进行了身份验证
我正在研究凤凰应用程序。身份验证部分使用Guardian
.
与典型的网站一样,该应用程序具有页眉、页脚和侧边栏。这些是布局文件夹中的静态页面。
树视图
-lib
|--admin_app_web
|--templates
|--layouts
|--app.html.eex
|--header.html.eex
|--sidebar.html.eex
|--main.html.eex
app.html.eex
看起来像这样
main.html.eex
在这些线上
我想渲染sidebar.html.eex
唯一的如果user
是authenticated
,如何实现这一点?
jwt - 在应用程序映像重建之前发出的 JWT 在映像构建/部署后不起作用
我的应用程序使用 SPA 客户端和 Phoenix/Elixir 后端,并带有 jwt 身份验证(通过 Guardian 库)。该应用程序是使用 GCP 上的 Docker 部署的。
我有以下问题:
我是已获得 jwt 的经过身份验证的用户。一切正常。
重新构建、重新部署生产应用程序的 docker 映像,并重新启动服务器。
我在重建之前发出的 jwt 令牌不再有效。
我很难找到导致这种情况的原因。看起来 Guardian 配置中使用的密钥在config.exs
不同版本中总是相同的。
任何帮助表示赞赏!
elixir - Guardian.Plug.EnsurePermissions 无法识别
我正在尝试使用 Guardian 在我的 Phoenix 应用程序中实现基于权限的安全性。我在网上找到了示例,但是当我尝试实现它们时,我无法克服这个错误:
我有 Guardian 安装了一个基本的身份验证工作。我无法弄清楚我错过了什么。