问题标签 [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 投票
0 回答
192 浏览

javascript - MSAL-react 可以手动设置访问令牌以让我们登录吗?

我们的应用程序使用带有 PKCE 的授权代码流,这是使用 MSAL-React 包https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-reactand实现的,它在Azure B2C 活动目录。

我们目前通过让用户输入用户名和密码来对用户进行身份验证,这些用户名和密码被交换为一个access_token然后随每个请求一起发送。这样后端就知道要向前端发送什么。

我们有一个新要求,归结为我们access_token从另一种方法中获取。这是为了促进一些我们最初不知道的新功能。

我们目前使用此代码设置令牌作为流程的一部分

但是我们现在需要手动设置这个令牌(不用担心我们如何获得这个令牌,假设我们有一个)

MSAL 有没有办法手动设置我们传递给它的令牌?

所以这样的事情会很棒(我知道这不存在)

MSAL 的“黑匣子”性质被证明是困难的,因为它向我们隐藏了 OAuth 的内部,这很好,直到您需要稍微偏离它应该工作的方式。

0 投票
0 回答
119 浏览

azure-active-directory - 在 Chrome 中使用 VPN 时 MSAL 2.0 Azure AD 身份验证的问题

我们刚刚在连接到 ADB2C 的 Web 客户端中从 react-aad-msal 切换到 msal-react 库。我们现在将授权代码流与 MSAL.js 2.0 一起使用(它曾经是隐式的),并将 B2C 应用程序类型从 Web 更改为 Spa。

作为连接到 ADB2C 的身份提供者,我们通过 Azure AD Connect 将本地 ADFS 同步到 Azure AD。据推测,该设置没有任何变化。

我们面临的问题是,现在公司 VPN 或内部网络上的用户突然被重定向到集成 Windows 身份验证弹出窗口,而不是像以前使用 MSAL.js 1.0 和隐式流的 ADFS 登录。如果他们只是在 VPN 上而不是在办公室的网络上,那么他们的 Windows 凭据在该弹出窗口中不起作用。如果他们在 VPN 之外的公共互联网上,那么他们将获得 ADFS 登录,并且一切正常。此外,我们注意到在使用 VPN 时,现在在浏览器 url 的 adfs 路径前面添加了“wia”。该问题仅存在于 Chrome 和 Edge 浏览器中。它在 Firefox 上以旧方式工作,并且路径中没有 wia。

我已经对其进行了一些研究,并且我知道在公司网络或 ADFS 中的 VPN 内部时,WIA 应该是默认设置?然后显然我们在 ADFS 中缺少一些设置,因为它不起作用。我们是否需要在我们的 ADFS 中启用 FBA 以及后备?并添加 Chrome 和 Edge 作为支持的代理?

此外,还不清楚为什么它之前没有尝试将 WIA 与 MSAL.js 1.0 库一起使用。

对于 Okta 身份提供程序和另一个不使用本地 ADFS 同步的 Azure AD 提供程序,一切正常。

请帮忙!

0 投票
1 回答
107 浏览

reactjs - AADSTS9002326:MSAL 身份验证代码流错误

我最近将我的反应应用程序从 MSAL 1.0(隐式)迁移到 MSAL 2.0(身份验证代码流)。我在 azure app 注册中将重定向 url 移动到了单页应用程序。但我仍然得到这个错误。有什么猜测吗?#帮助 #MSAL

AADSTS9002326:仅允许“单页应用程序”客户端类型的跨域令牌兑换

0 投票
0 回答
18 浏览

javascript - 如何在没有 MSAL 库的用户的情况下获取图形 API 的访问令牌

https://docs.microsoft.com/en-us/graph/auth-v2-service 我只是想知道 MSAL 是否支持这个

0 投票
1 回答
70 浏览

reactjs - msal-react 访问令牌与 id 令牌不同的到期时间

对于身份验证,在我的应用程序中,我使用 @azure/msal-react 库和 @azure/msal-browser。我注意到下载token的方法acquireTokenSilent()同时返回:accessToken和idToken,而每次我尝试下载这些token的过期时间都是不同的,但差异永远不会相同或相似。并且令牌本身只有在达到访问令牌的过期时间时才会刷新。这是一种自然行为还是可能是什么原因?

0 投票
0 回答
21 浏览

azure-active-directory - 在没有重定向的 msal js 中验证用户

我正在使用一个注册表单,它使用 rest api (nodejs) 将用户添加到我们的应用程序,并将它们也添加到 azure ad connect。是否有任何解决方案可以让用户在注册表格后通过 msal/react 身份验证?我将注册后从 azure-ad 生成的访问令牌返回给用户。

0 投票
1 回答
27 浏览

reactjs - @azure/msal-browser untrusted_authority 错误

我一直在尝试遵循本教程... 从 React SPA 登录用户 ,但我无法让它工作。我有一个个人 azure 帐户,并在 Azure Active Directory 中创建了一个 SPA 应用程序来获取客户端 ID。从我读过的所有内容来看,我应该使用https://login.microsoftonline.com/{tenant-id-here}作为我的权限,但是当我这样做时,我得到了错误......

ClientConfigurationError:untrusted_authority:提供的权限不是受信任的权限

我尝试在配置中添加 knownAuthorities 参数,但我认为我不应该这样做,因为我只关心单个租户。当我添加 knownAuthorities 参数时,错误变为......

ClientAuthError:openid_config_error:无法检索端点。

我的配置文件看起来像这样

导致错误的登录按钮如下所示...

我可能会在 azure 设置中遗漏一些东西吗?还是反应应用程序本身中的其他东西?

更新:16/02/22

好吧,我现在已经开始工作了。我不小心在标签内呈现了登录按钮<a>,这一定是阻止了 Microsoft 登录弹出窗口的加载。可能试图重定向某个地方,这阻止了 MSAL 进程完成。不是最有用的错误消息。

因此,要确认,对于单租户解决方案,您只需要clientIdauthority. 而权威绝对是https://login.microsoftonline.com/{your-tenant-id}

0 投票
0 回答
12 浏览

angular - 注销时绕过帐户选择屏幕(注销)@azure/msal-angular V2

我正在使用@azure/msal-angular版本 2 和Angular版本 13。场景是当用户登录到应用程序时需要授权用户,如果他没有访问权限则需要从应用程序中注销用户。这将通过调用 msalService.logoutRedirect() 在后台发生。调用注销功能时,会显示 Microsoft 帐户选择屏幕以注销而不是自动注销。有什么方法可以跳过帐户选择屏幕以退出。