问题标签 [msal-react]

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

reactjs - React SPA Azure ADB2C 密码重置用户流程

我正在关注带有 msal 和 AADB2C 的 React 示例。

reset password flow如果用户在我的流程中单击“忘记了我的密码”,我想运行signIn。从这里我看到我需要处理这种情况:

并且forgotPassword权限是一个URL https://tenantName.b2clogin.com/tenantName.onmicrosoft.com/B2C_1_PasswordReset,例如。尽管我正在关注这些示例和文档,但我遇到了这个问题,似乎没有任何提及或解决方案:

未处理的拒绝(TypeError):无法在字符串“https://tenantName.b2clogin.com/tenantName.onmicrosoft.com/B2C_1_PasswordReset”上创建属性“authenticationScheme”

0 投票
1 回答
38 浏览

reactjs - 在浏览器中点击 URL 时直接重定向到 AAD 登录页面

在 React 中使用 MSAL 2.0,我们可以使用以下方法轻松实现重定向到登录页面

  1. 使用弹窗登录
  2. 使用重定向登录

但是这两种方法都可以在登录/登录按钮操作上执行。

就我而言,我想将我的 React 应用程序直接重定向到登录页面,当 URL 在浏览器中被点击时,即没有按钮操作。

此外,在进行重定向时,我还需要传递我的多个范围,以获得用户的同意。

我做了一些研究,但没有找到任何可行的解决方案。请问有人可以帮我吗?

0 投票
1 回答
407 浏览

reactjs - 如何使用@msal 在十分钟后触发会话过期弹出窗口 - 反应和天蓝色广告

  1. 身份验证提供程序:Azure Active Directory
  2. 客户端库:@azure/msal-react

正如这里所解释的,我的 msal 令牌在一小时后过期 MSAL 令牌在 1 小时后过期,我的要求是我想配置一个 15 分钟(或 10 分钟)的会话时间,之后我想触发一个弹出窗口,说请再次登录?有没有办法使用 msal-react.

目前,在一小时后调用acquireTokenSilent 以获取新令牌,使用哪个客户端不知道发生了这种情况并且客户端认为它具有无限的会话生命周期。

这是实现

我需要从 Azure AD 端或客户端代码端配置哪些步骤?

提前致谢。

0 投票
1 回答
222 浏览

azure-active-directory - 如何在 msal react 中注销后停止重定向

我只是在做 msal.logout() ,它重定向到注销屏幕,然后要求登录,然后登录后导航到www.office.com,我怎样才能在注销后停止所有重定向。

这是配置

注意:这是登录点击后的redirecturl,其中包含www.office.com

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=xxxxxx&redirect_uri=https%3A%2F%2Fwww.office.com%2Flandingv2&response_type=code%20id_token&scope=openid%20profile%20https%3A% 2F%2Fwww.office.com%2Fv2%2FOfficeHome.All&response_mode=form_post&nonce=637691229835396604.NDZlZjRkMTMtYWZlYy00Mzg1LTk3YmItODc4ZDFlNzhlMTRjMDhmN2Q4MjEtNTRiYi00NGQxLTgzNTItYTI4MGVkYjYzN2Ni&ui_locales=en-US&mkt=en-US&client-request-id=0eb6f9a0-525d-4939-8541-893d9a960497&state=Iw9_CAMwjrzffsm_V8laWMVsfcREPJmGdcsvXd9G0jVaYt7fRttltWjZz1Gkfi2caIY40VJ6aaSbNQMdjFUcadHS6walpe5THq2cszy_bisx4ygWv8Pe6HothKP8QHYzbuWo0PjTj2h9O1xUv-F2CC2vUBcAyTARXjOsr6uxxp4-aENCwsRO76rRqGRMPDq4C7-VdTaFmQoyRR1OHGfV6WJ7Ep5KNIR1j65NMPlYW- rZ2dAPMoFFeyPcSCsX5H1O0FTOPSGDAJdXf215L50Ybg&x-client-SKU=ID_NETSTANDARD2_0&x-client-ver=6.11.0.0#

0 投票
0 回答
93 浏览

msal - MSAL-React 在应用程序中动态切换用户流

我正在使用 MSAL-React 库与 Azure AD B2C 集成。

我不想使用标准的注册流程,而是想使用我创建的两个单独的流程。

我在我的 App 组件中设置 MsalProvider 并将其配置为登录权限

这一切都可以使用 useMsal() 钩子正常工作。

我想要一个单独的页面用于注册用户流程(大多数用户将获得登录名,所以这就是它分开的原因)但我看不到如何使用提供的任何挂钩来切换权限?

0 投票
0 回答
61 浏览

reactjs - Azure React Msal 停止静默刷新并在 30 分钟后强制登录?

目前正在尝试使用@azure/msal-browser 实现@azure/msal-react,但我遇到了强制用户重新登录的问题。

我的组织要求用户在 30 分钟后重新登录,但应用程序没有这样做。相反,它正在刷新令牌并且不需要登录。我在周五启动了本地应用程序,整个周末都保持登录状态。星期一早上,我只是刷新了页面,不需要像我第一次访问本地主机时那样登录。抓住了 idToken 并通过邮递员测试了我的 api,发现它工作正常。

这不行。如何强制执行登录要求?

0 投票
0 回答
37 浏览

reactjs - 在 reactjs 中使用 jest 编写单元测试时,对 MsalAuthenticationTemplate 的更新运行效果、错误

我正在开玩笑地编写单元测试,我的单元测试正在运行,但我总是遇到错误。由于这个错误,它没有显示成功运行的覆盖率和测试描述

任何人都面临同样的问题并且有 MsalAuthenticationTemplate 的示例模拟吗?

0 投票
1 回答
48 浏览

azure-ad-b2c - 在 msalBrowser 中为 loginRedirect 设置自定义 code_challenge

我使用 msal-browser 包进行身份验证,并尝试设置code_challenge我想要的东西,而不是 msal-browser 自动生成的东西。

看起来上面的内容似乎不能作为loginRedirect不期望codeChallenge属性存在的输入参数。

我该如何设置?

0 投票
1 回答
78 浏览

reactjs - 无法使用 React JS 在 Azure AD B2C 的查询参数中发送 signinPolicy

我一直在尝试使用 React JS 在前端集成我的 Azure AD B2C 身份验证服务。我面临的问题是我无法在请求 URL 中传递查询参数,这就是为什么将 signInPolicy (p) 作为 null 传递。我不知道我做错了什么。还尝试了来自互联网的不同解决方案。目前,我一直在使用 @azure/msal-react npm 包。列出了我的配置代码和我面临的问题:

// 我面临的问题:在此处输入图像描述

0 投票
0 回答
50 浏览

dynamics-crm - loginPopup 不会重定向到原始选项卡中的 redirectUri,而是在 D365 中的 Popup 上打开 redirectUri

我在基于反应的 SPA 和导入到画布应用程序中的 PCF 组件中使用 MSAL,并且此画布应用程序嵌入到 Dynamic365 现场服务 CRM 中。我创建了一个 Azure AAD 应用程序注册并在单页应用程序中添加了这些 redirectUri

  1. 本地主机:3001
  2. *.crm.dynamics.com/main.aspx //main.aspx 因为我之前提到过这个问题 #190。

所以当我在 localhost:3001 中打开我的应用程序时,它工作正常。它会弹出一个登录窗口,要求登录,并在关闭时给出一个访问令牌作为响应。但在第二种情况下,弹出窗口不会重定向回它的主页,而是在弹出窗口本身中打开。

我在 D365 现场服务中使用的 PCF 组件中使用了这个。

复制步骤

  1. 使用上述代码片段创建一个 PCF 组件。
  2. 在画布应用程序中添加此 PCF 组件。
  3. 在 D365 Field Service CRM 中嵌入新创建的画布应用程序。
  4. 当您在此 *.crm.dynamics.com/main.aspx 上运行的 D365 Field Service CRM 中打开 PCF 组件时,它将打开一个登录弹出窗口。我们必须从该弹出窗口登录。
  5. 此弹出窗口不会关闭,而是仅在弹出窗口内打开重定向 URL。 在此处输入图像描述 我已经像这样在 App 注册中添加了重定向 URI 在此处输入图像描述

我已经使用了每个变体,例如 *.crm.dynamics.com/main.aspx 和 *.crm.dynamics.com/ 和 *.crm.dynamics.com。

预期行为

弹出一个登录弹出窗口,在用户登录后弹出窗口自行关闭并且 loginPopup 承诺解决(或拒绝)。

实际行为

弹出一个登录弹出窗口,在用户登录后,弹出窗口重定向回我的站点。

在此处输入图像描述