问题标签 [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.

0 投票
1 回答
551 浏览

elixir - 使用 Guardian 进行 API 身份验证测试

我正在尝试测试我的控制器,但我一直遇到监护人“未经身份验证”错误。我想我知道哪里出了问题,但我只是不确定为什么它不起作用。这就是我所拥有的。

这是正确地创建和签署 JWT,但由于某种原因,它没有在路由器中对其进行身份验证。这里是路由器。

我认为这是我出错的地方,因为文档显示如果未解决此路由器插头,则会出现此错误:

错误:

如何在控制器测试中成功使用监护人?

0 投票
1 回答
379 浏览

elixir - Elixir/Phoenix/Guardian - 在 conn 中分配 current_user 不适用于测试

如果有一些这样的控制器

如果我运行这个测试,我希望它调用第一个 #index 操作,但它调用第二个操作,没有用户,并且由 conn 分配%{current_user: nil}

为什么没有正确分配 current_user?为什么会消失?

0 投票
1 回答
226 浏览

authentication - Guardian 的问题 - EnsureAuthenticated 不起作用

我正在尝试让 Guardian auth 为我的应用程序工作。但我完全陷入困境,找不到任何支持我遇到的问题。

据我所知,我已经准确地设置了 Guardian 文档显示的方式,但是当我在浏览器中测试身份验证时,它在 Guardian 提供的 EnsureAuthenticated 插件上失败。

这是我正在使用的内容:

配置:

所有值都在应用程序中正确填写。

认证控制器:

在这个控制器中它失败了。当它进入 EnsureAuthenticated 插件时,它会停在那里。但此时我的标头中有一个有效的 JWT。

这是我们的参数:

我已验证 JWT在此处有效。

要求:

同样,问题是我的身份验证失败了Plug.EnsureAuthenticated。但我不明白为什么,因为我似乎正确设置了所有内容并且 JWT 位于 auth 标头中。

0 投票
2 回答
2249 浏览

elixir - 监护人的问题 - 如何在登录时生成访问和刷新令牌

为了使 JWT 失效,人们使用两种方法之一

  • 黑名单/白名单(带有 Guardian_db)。
  • 一个刷新令牌(允许重新生成访问令牌)和一个即将过期的访问令牌。

我不想在我的项目中使用 Guardian_db。那么,我如何在登录端点中生成访问令牌和刷新令牌?

我的代码是:

文件 mix.ex

文件 config.exs

文件 aut_access_pipeline.ex

文件 auth_controller.ex

文件监护人.ex

使用此代码,我有一个有效的访问令牌,但我不知道如何生成刷新令牌以在他过期时重新生成/刷新访问令牌......

有人可以帮忙吗?

0 投票
0 回答
475 浏览

authentication - Guardian.Plug.current_resource(conn) 返回 nil

我正在将 Guardian 从 更新v0.14v1.0

我正在关注官方监护人 github 页面的更新指南,但遇到了一个问题。

为了更新,我稍微改变了我的身份验证逻辑。

从:

至:

而我nilGuardian.Plug.current_resource(conn)……为了解决这个问题,我存储token在前端localStorage并通过它来获取用户信息。

但我仍然认为从current_resource. 我怎样才能做到这一点?

- 编辑 current_user_controller.ex

0 投票
0 回答
449 浏览

https - IE11 在 HTTPS 网站上非常慢

我们有一个内部 Web 应用程序,因为简短,它在 IE11 中非常慢。Chrome 和 Firefox 没有这个问题。我们有同一个网站的 HTTP 版本,速度很快,最多可以有 6 个并发 HTTP 会话到服务器和会话持久性。但是,当我们更改为 HTTPS 时,这一切都会改变。我们仍然有会话持久性,但只有 2 个与服务器同时进行的会话,并且每个请求似乎都需要很长时间。慢的不是服务器响应,而是 IE11 发送请求(以及下一个请求)之前的“开始”时间。连接图变成了一个阶梯,一次发出一个请求,一个接一个。即使请求本身只返回几个字节,每个请求也需要 100-200 毫秒。

连接图

工作站安装了 Symantec Endpoint Protection (12.1),还安装了 Digital Guardian 软件 (4.7)。

0 投票
1 回答
687 浏览

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唯一的如果userauthenticated,如何实现这一点

0 投票
1 回答
39 浏览

jwt - 在应用程序映像重建之前发出的 JWT 在映像构建/部署后不起作用

我的应用程序使用 SPA 客户端和 Phoenix/Elixir 后端,并带有 jwt 身份验证(通过 Guardian 库)。该应用程序是使用 GCP 上的 Docker 部署的。

我有以下问题:

  1. 我是已获得 jwt 的经过身份验证的用户。一切正常。

  2. 重新构建、重新部署生产应用程序的 docker 映像,并重新启动服务器。

  3. 我在重建之前发出的 jwt 令牌不再有效。

我很难找到导致这种情况的原因。看起来 Guardian 配置中使用的密钥在config.exs不同版本中总是相同的。

任何帮助表示赞赏!

0 投票
1 回答
312 浏览

reactjs - (RuntimeError) `module` 未在 Guardian 管道中设置。如何解决这个问题?

我的项目的Github 链接

我正在关注的教程

这是我的 api 终端上的错误(凤凰服务器)

0 投票
1 回答
93 浏览

elixir - Guardian.Plug.EnsurePermissions 无法识别

我正在尝试使用 Guardian 在我的 Phoenix 应用程序中实现基于权限的安全性。我在网上找到了示例,但是当我尝试实现它们时,我无法克服这个错误:

我有 Guardian 安装了一个基本的身份验证工作。我无法弄清楚我错过了什么。