问题标签 [msal.js]

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

azure-ad-b2c - 如何从新的 Msal.UserAgentApplication(applicationConfig.clientID) 获取值?

这是我第一次使用 MSAL.js。

在 Azure AD B2C 中,我试图从输入到弹出登录屏幕的用户 ID 中获取值,该用户 ID 由从 html 文件调用的登录策略生成。

var clientApplication = new Msal.UserAgentApplication(applicationConfig.clientID, applicationConfig.authority, function (errorDesc, token, error, tokenType) { // 在 loginRedirect 或 acquireTokenPopup 之后调用 });

用户正在输入 userid@domain.com 我需要检索此值以便解析出域名。

如何提取用户标识?

0 投票
1 回答
78 浏览

msal.js - 如何在不要求访问资源的情况下仅登录用户?

我正在尝试使用 MSAL.js 库登录 Azure AD 和 Microsoft 帐户用户。现在,我使用acquireTokenPopup()它要求我传递 API 的范围。我想登录用户而不获取访问令牌。

有谁知道我该怎么做?

0 投票
1 回答
884 浏览

msal - 什么重定向与 MSAL 一起用于 Chrome 扩展?

我正在编写一个 Chrome 扩展,它需要访问需要 AAD 访问令牌的 ASP.NET Core Web API。我正在尝试使用msal NPM 包提供身份验证流程,以便用户可以使用他们现有的 AAD 帐户登录我的扩展程序,从而为我的扩展程序提供所需的访问令牌。

到目前为止,我得到了一个让用户登录的弹出窗口,但在我的扩展程序获取令牌之前,弹出窗口显示此错误:

ERR_UNSAFE_REDIRECT

我猜这是因为 https 页面正在尝试使用chrome-extension://方案重定向回 URL。但是我该怎么做呢?这是我现在的代码:

0 投票
1 回答
417 浏览

azure - 使用 MSAL.js 的多个域的 SSO 问题

我想使用 MSAL 和 Azure B2C 对多个域(即 www.a.com 和 www.b.com)进行单点登录。我使用本地存储作为缓存位置,但单点登录在多个域中不起作用。

0 投票
1 回答
1054 浏览

javascript - 在使用 B2C 的 Javascript/Angular 6 SPA 应用程序中通过 MSAL.JS 注销时出错

我有一个使用 MSAL.JS 对 Azure AD B2C 进行身份验证的 Javascript SPA 应用程序和另一个使用 MSAL for Angular 对 Azure AD B2C 进行身份验证的 Angular 6 SPA 应用程序。

在这两个应用程序中,注销都会引发以下错误。

相关 ID:6de6e068-7b07-4d24-bac4-c1af3131815b 时间戳:2018-09-25 16:16:20Z AADB2C90272:请求中未指定 id_token_hint 参数。请提供令牌并重试。

对于 Logout,MSAL 有非常简单的 logout api,它不带任何参数,那么我如何提供 id_token_hint?我错过了什么吗?在 Angular 应用程序中注入 MsalModule 时是否需要提供任何配置参数。或在 Msal.UserAgentApplication 的 Javascript 应用程序中的任何类似内容。

0 投票
1 回答
827 浏览

angular - 使用 msal 访问 sharepoint REST api 会抛出 401

如果我去https://developer.microsoft.com/en-us/graph/graph-explorer#并使用如下 URL:

https://graph.microsoft.com/beta/sites/4development106.sharepoint.com:/sites/DBSchenker:/lists/OEC_Docs/items 我可以看到请求成功。

现在,如果我使用来自 github https://github.com/AzureAD/microsoft-authentication-library-for-js的 Angular 应用程序

和像这样的代码

它抛出:

将主机更改为(在图形 api 资源管理器中工作)

投掷

不知道我做错了什么

0 投票
1 回答
1939 浏览

azure-ad-b2c - MSAL acquireTokenSilent 后跟 acquireTokenPopup 在弹出窗口中导致错误请求

我们正在使用 MSAL.js 对 Azure AD B2C 实例的用户进行身份验证。用户可以使用本地帐户或使用来自另一个 Azure Active Directory 实例的凭据登录。

登录后,我们的 SPA 使用 acquireTokenSilent 获取访问令牌,并回退到 acquireTokenPopup。

我们注意到的是,当acquireTokenSilent 超时时,仍可能在后台检索token,并用token 更新应用程序本地存储。但是,在应用程序中,我们继续调用了 acquireTokenPopup。用户在acquireTokenPopup 中输入他们的凭据后,弹出窗口会显示“Bad Request”。用户可以关闭弹出窗口,如果他们刷新应用程序,他们现在将登录。

对于我们的用户来说,这种体验并不是很好的体验。

只是想知道这是一个已知问题还是预期行为?

这是我们代码的相关摘录。我们将 UserAgentApplication 包装在 MsalAuthenticationManager 对象中。

0 投票
4 回答
3863 浏览

angular6 - 修复 Internet Explorer 11 + Angular 6+ 项目中的语法错误

"@azure/msal-angular": "^0.1.2"在两个项目中都使用 msal.js Angular 6,但Angular 7出现以下错误:

第 64379 行的 .js 代码

我添加了rxjs-compatnpm 模块来支持 Angular 6+。

为 IE 11 尝试了以下修复:

uncommented polyfills.ts

https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/Using-msal.js-with-Internet-Explorer

0 投票
1 回答
1596 浏览

azure-active-directory - 访问令牌不包括使用 MSAL 访问 API

我在反应应用程序中使用MSAL for JavaScript对 Azure AD 进行身份验证。我能够成功验证用户并获取 id 令牌和访问令牌。但检索到的访问令牌无法访问受 Azure AD 保护的 API。

一切都在 Azure AD 端进行配置,因为我可以使用检索到的访问令牌通过 dotnet 核心 Web 应用程序与 API 对话。

dotnet core app 和 react app 的区别在于“resource”属性。我不确定如何将其包含在 MSAL 的请求中。

我的反应代码:

对于 dotnet 核心应用程序,我使用与 Azure AD 应用程序中配置的两个 URL 相同的配置,并添加一个。

我没有使用 MSAL 发送此资源参数。不确定如何发送以及是否是问题所在。

任何帮助表示赞赏。

0 投票
0 回答
1597 浏览

node.js - 如何从缓存位置检索 msal 对象:本地存储?

首先,当谈到 Nodejs/msal/azure b2c 时,我低于新手级别,我正在尝试理解流程。我从这里的示例开始:https : //azure.microsoft.com/en-us/resources/samples/active-directory-b2c-javascript-msal-singlepageapp/ 我正在使用 msal.js 和 azure ad b2c Node.js 应用程序。通过登录策略登录后,我将用户重定向到我有其他策略的不同页面。

//index.html

这是我在 index.html 中的 onclick 登录功能。'test(accessToken)' 方法重定向到后端节点 js 路由,我将 accesstoken 存储在会话变量中,并且该方法呈现到存储我的其他 b2c 策略的不同页面(test.ejs)。

现在我的问题是如何在我的另一个视图(test.ejs)中检索 clientApplication Msal.UserAgentApplication 对象的当前状态以执行以下操作: