问题标签 [react-aad-msal]

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

reactjs - 使用 react-redux 和 react-aad-msal 登录后如何触发操作?

我创建了一个使用 react-redux 和react-aad-msal来处理 AD 登录的应用程序。我可以毫无问题地登录和注销,但是在用户登录后,我想触发 API 调用以从 API 获取数据。我不确定如何使用 AzureAD 组件及其所需的 authProvider 在手动登录和强制登录时触发此操作。

目前,我在 componentDidMount 函数中的索引组件中添加了一个调用来调用 API 以获取数据,但是如果用户不在索引页面上并刷新页面,则应用程序会中断,因为 API 调用不是AD登录完成后触发。

我不想在我的 auth reducer 中触发调用,我认为这对于 Redux 及其应该如何使用来说是一种反模式。

如何利用“AAD_LOGIN_SUCCESS”或“AAD_INITIALIZED”操作,以便在登录后始终触发我的 API 调用,从而避免在我的组件中添加逻辑?

这基本上是我目前所拥有的,它有效,但如果你在 /some-other-page 并点击刷新,则不会,因为这不会触发 API 调用。

应用程序.js

EnvironmentsOverview.js

0 投票
1 回答
2472 浏览

javascript - 使用 react-aad-msal 测试组件

我需要通过模拟 react-aad-msal 为下面的类编写单元测试用例。我怎么能嘲笑它?我读过那个酶模拟组件,但我得到错误

我认为这与单元测试无关

0 投票
1 回答
515 浏览

javascript - react-aad-msal 清除本地存储。传递状态

所以在过去的两天里,我一直在碰壁。我已经有将近 2 年没有玩过 ract/前端工作了,所以请多多包涵。

场景:
- 加载页面
- 在 localstorage 中扔东西(查询字符串参数)
- 导航到登录授权页面(为此使用 react-aad-msal)
- 返回主页
- 尝试从 localstorage 和密钥中检索数据我'已添加丢失。存在 msal 令牌等。

环境:
- Chrome
- 用于调试的 React 插件

意外的转折:这是随机发生的。对于昨天最好的部分,它正在工作。而且我添加的钥匙开始失控了。今天早上也是一样。

据我了解-如果我将某些内容放在本地存储中,除非要求以编程方式或其他方式删除,否则它会保留在那里。

那么这里发生了什么?

0 投票
1 回答
195 浏览

azure - 来自登录用户的 Azure 资源信息的 Azure Identity?

到目前为止我所拥有的

我正在使用两个不同的 Node.js 项目,但我想将它们放在一起。

  1. 第一个使用交互式登录(在浏览器中提交的代码)然后找到我所有的(登录用户)租户。
  2. 第二种使用 react 单击按钮以登录并从 Microsoft Graph 获取信息。

Azure 应用程序 API 权限

两者的 Azure 应用程序都具有权限 user_impersonation(用于租户/订阅信息)和 user.read(配置文件信息)。

在此处输入图像描述

React 应用程序代码

我使用了 Microsoft 提供的本教程。我所做的唯一更改是添加 user_impersonation 的范围。

它使用以下身份验证库和登录功能:

我得到错误:

`为输入参数“范围”提供的值无效。范围“ https://management.azure.com/user_impersonation openid profile”不存在。

{"errorCode":"invalid_scope","errorMessage":"输入参数 'scope' 提供的值无效。范围 ' https://management.azure.com/user_impersonation openid profile' 不存在。" “名称”:“服务器错误”}`

0 投票
1 回答
1861 浏览

reactjs - 使用 react-aad-msal 缺少范围从 react SPA 调用 web api

我正在从 react SPA web 应用程序调用受保护的 web api。spa 和 web api 都已在 AzureAD 中注册,并通过“公开 API”和“API 权限”相互注册。

在客户端通过身份验证之后,在调用 Web api 之前,调用 (await this.props.provider.getAccessToken()) 以获取访问令牌。身份验证提供程序配置为:

其中“api://xxxx-xxxxx-xxxxx/user_impersonation”是 web api 范围请求。针对 web api 的授权失败并出现 401,因为在检查时返回的访问令牌缺少声明中的 web api 范围。

0 投票
1 回答
558 浏览

asp.net-core - .net 核心 2.2 Azure Ad Jwt 令牌

我正在尝试在我的 .net core 2.2 中间件中验证从库 react-aad-msal 获得的 Azure 广告令牌。令牌似乎是有效的,但我从后端收到此错误

这是我的中间件

令牌已从 azure ad 正确发出,因为如果我在 reactjs 文件中解码该令牌,似乎具有正确的信息。但是,当我尝试使用 [Authorize] 属性访问受保护的 WEB API 时,会出现错误。谢谢您的帮助!

0 投票
1 回答
542 浏览

azure-ad-b2c - MSAL js-acquireTokenSilent 失败并出现 X-Frame-Error

我们将 Azure AD B2C 用于 React SPA Web 应用程序和 api,我们使用 b2c 自定义策略来支持 azure 多租户登录,它适用于本地帐户和 google 登录,但是当使用任何 azure 帐户登录时,从 msal 收到 iframe 错误.js

网址https ://app.skypointcloud.com

重现步骤 - 使用任何 Azure 帐户登录

错误

0 投票
1 回答
2610 浏览

reactjs - 使用 React-AAD-MSAL 查找 Azure/AD 组

我已将 React-Aad-MSAL 客户端的基本身份验证集成到我的 react-app 中,它允许我成功获取用户名和电子邮件等信息。在一个组件中,我想在显示一些数据之前检查用户组。

我的问题是;我将如何收集用户所在的组?我检查了 accountInfo.account.idTokenClaims,但没有一个返回令牌。我看到其他使用 Graph 的教程,但我真的需要这两个库吗?任何帮助将不胜感激!

0 投票
0 回答
1819 浏览

reactjs - 使用 msal.js 时 AcquireTokenSilent 失败

我正在使用重定向流程来执行身份验证流程,但有时在登录重定向后会遇到一个取消的过程,当 acquireTokenSilent

这是我的登录过程

获取访问令牌功能

还有我的配置

并且发生了这个错误,我认为当获取令牌被 MS 取消时的授权过程。我无法在 localhost 中重现它。 在此处输入图像描述

0 投票
1 回答
902 浏览

javascript - 使用 react-aad-msal 时来自 chokidar 的错误

我正在使用天蓝色的活动目录,我得到这个奇怪的模块未找到错误,然后是一个 chokidar 错误:

这部分的目的是创建一个 authProvider。我正在使用 create-react-app,这是我的 authProvider。使用所有内容的最新版本。