问题标签 [redux-oidc]

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 回答
237 浏览

openid - 通过 steam 使用 redux-oidc

现在,我用的是React,然后我想用redux-oidc通过steam openid登录,但是效果不好……我觉得我的oidc客户端配置不好;

我应该如何改变它?谢谢。

0 投票
0 回答
1401 浏览

reactjs - 关于 redux-oidc signoutRedirect 的问题

问题/问题

我使用 Identity Server 进行单点登录,我的客户端应用程序位于嵌入 Redux 的 ReactJs 中。我正在使用redux-oidcnpm 节点模块来实现身份服务器功能,如https://github.com/IdentityModel/oidc-client-js/wiki中所述

我的 oidc 配置是

如果我使用内置方法signoutRedirect,它会再次重定向到应用程序的初始登录页面,但如果我直接触发结束会话,它会重定向到身份服务器登录页面(即,一旦应用程序成功注销,身份服务器将重定向到根 URI,然后重定向到登录页面)。

问题:它不是注销应用程序

很好:登出很完美

请帮助我如何使用userManager.signoutRedirect()???

0 投票
1 回答
1657 浏览

reactjs - Redux oidc 回调调用了两次

我的 React 容器如下所示:

回调组件如下所示:

我的 Privateroute 如下所示:

我的商店看起来像:

我的问题是:回调组件被调用了两次。我找不到它从哪里触发?第一次,它按预期进入成功函数,然后第二次,它将进入错误函数。然后页面冻结,浏览器中显示的 URL 是回调链接。我找不到为什么这个回调运行两次?有人可以帮我解决这个问题。我希望你理解这个问题。

此代码基于 redux-oidc 示例。请点击以下链接。 Redux-oidc 示例

0 投票
1 回答
388 浏览

react-redux - redux-oidc 从 keycloak 重定向 - USER_EXPIRED 在 USER_FOUND 之前调用,导致登录屏幕闪烁

我有一个使用redux-oidc的登录系统,其中keycloak作为 ID 管理器。该应用程序的登录页面是登录屏幕。当用户单击登录按钮时,他们会被引导使用 keycloak 登录。在登录时,它们会被重定向回我们的应用程序。问题是登录屏幕在被带到应用程序之前会短暂闪烁。我们正试图摆脱这种情况。以下是页面从重定向加载后触发的 redux 操作:

在此处输入图像描述

我可以在这里看到登录屏幕闪烁的原因 -LOADING_USER设置state.oidc.isLoadingUser为 true,但USER_EXPIRED将其设置为 false。然后USER_FOUND设置用户,我们LOGIN_SUCCESS将所有用户/会话数据保存在存储中并调用state.auth.authenticatedtrue。在从重定向加载页面时,有一个短暂的时刻,我没有用户数据和身份验证,并且无法知道 oidc 客户端仍在加载我的用户。

一旦已经登录,页面重新加载就不是这种情况。重新加载时,我得到这个:

在此处输入图像描述

这是有道理的,因为用户数据已经存在,所以要么state.oidc.isLoadingUser或要么state.oidc.user是真的。但我希望这在重定向的第一页加载时是相同的,因为用户数据是使用redirect_uri. 看一下代码,我们在 store 定义后立即调用redux-oidc's :loadUser

userManager据我所知,我们正在以一种非常标准的方式进行设置:

回调组件是它LoginPage本身:

在应用程序中,我们仅在用户为authenticated. 否则,我们渲染登录屏幕:

oidc 和 live 之间的连接authenticated在我们的 sagas 中USER_FOUND被拦截,我们调用后续动作将有效负载传递给 store 并设置authenticated为 true。

也许这是 TMI,但我想给出这个问题的全部范围。我相信它的核心是,由于某种原因,redux-oidc 正在调用USER_EXPIRED然后调用USER_FOUND一次 keycloak 重定向回我们的应用程序。为什么?我如何跟踪我们仍在等待 redux-oidc 找到用户这一事实的页面加载?我需要让我的应用程序(和用户)知道您刚刚通过第三方登录,等待我们将您重定向到该应用程序。我是 OIDC 的新手,所以如果我遗漏了一些明显的问题,请原谅我。谢谢阅读。

0 投票
1 回答
266 浏览

javascript - 从 extraReducers 触发 redux 动作

首先,我知道(或者我想我已经读过)你永远不应该从减速器中触发动作。在我的情况下,我redux-oidc用于处理针对我的应用程序的身份验证。用户登录后,redux-oidc触发一个操作并在切片redux-oidc/USER_FOUND中设置用户的个人资料。state.oidc.user

登录后,我需要从我的数据库中查找不在 OIDC 响应中的有关用户的其他信息。目前,我正在按fetchUserPrefs预期redux-oidc.CallbackComponent.successCallback工作。

我的问题是当用户有一个活跃的会话并打开一个新的浏览器,或者手动刷新页面并再次初始化应用程序时,回调没有被命中,所以额外的用户水合作用不会发生。似乎想要做的是添加一个extraReducer监听redux-oidc/USER_FOUND动作并触发 thunk 的操作,但这会从减速器触发一个动作。

有一个更好的方法吗?

0 投票
0 回答
89 浏览

reactjs - 在 Redux oidc 中如何检查用户是否登录,在应用程序初始化?

问题是一旦用户登录,如果我从 redux 商店签入用户

userManager.getUser(user => console.log(user))总是返回 null。

即使我这样做const oidcstore = useState(state => state.oidc.user)也返回 null

如果我添加一些超时,那么我可以看到用户。

我是 ReactJS 的新手,任何帮助将不胜感激。

我运行的所有这些方法useEffect

任何形式的帮助将不胜感激

0 投票
0 回答
297 浏览

redux - TypeError:无法读取未定义的属性(读取“href”)

我正在尝试使用 redux-oidc 捕获令牌,但我在 redux 上有错误

这是我的错误

在此处输入图像描述

在此处输入图像描述

这是我的商店

这是我的 _app.js

这是我的 reducerList.js

这是我的 userManager.js

这是我的回调.js

这个错误可能是什么?,是 redux-oidc 还是我的 react-redux 代码或我的 callback.js 感谢所有的答案

0 投票
1 回答
23 浏览

reactjs - 当我尝试导航登录时出现 redux-oidc JavaScript 错误,我将在哪里修复它?

我尝试按照 GitHub 页面上的指南来实现 redux-oidc。我正在使用身份服务器连接到我构建的 IDP 服务器。我以为一切都已正确设置,但出现以下错误。我该如何解决这个问题或找到问题的根源?

单击登录按钮时出错