问题标签 [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.
azure-ad-b2c - 使用 Azure AD B2C 时,正确使用 SPA 中的“acquireTokenSilent”(MSAL)
设置:
- 客户端 Web UI 作为 SPA (Angular),使用 MSAL;
- Web API (REST) 作为 ASP.NET Core (.NET Framework);
- 具有上述应用注册的 Azure AD B2C,已在 Web API 上定义了一个范围,供 Web UI 使用;
问题:
- 当我想使用本地令牌缓存时,是否必须在
acquireTokenSilent
调用中添加一个用户对象作为附加参数?(没有一个代码示例使用 User 对象作为参数,所以我想知道正确的用法是什么?) - 我看到了示例,其中使用了客户端 ID 而不是范围。这是一个受支持的场景吗?如果是,具体是什么时候?
谢谢,奥利弗
azure - New-AzureRmRoleAssignment 在 .NET Core 控制台应用程序中以编程方式
看来我正在尝试首先以编程方式创建 Azure 应用程序,然后使用 Azure 管理 API 创建一些资源。我想向社区询问一个新问题,即如何使用基本的 PowerShell 命令New-AzureRmRoleAssignment -RoleDefinitionName Owner -ServicePrincipalName $adApp.ApplicationId.Guid
(HttpClient
或使用 Microsoft Graph API 库具有确切所需权限的一些更智能的方法)。
这次试图成为一个更好的人(更多的人,提供代码),我在 GH 中准备了一个 repo,但问题基本上归结为应该使用什么样的 URI(here)。代码是
如果事情更容易使用它(或库)但运气不佳,我也会摆弄Graph API Explorer 。事实上,最终目标是以编程方式创建应用程序,以便可以使用Azure 管理库进行部署。也就是说,从头到尾都在代码中。
(此外,代码具有一次性质量,仅提供功能更强大的示例。)
.net - 使用编程凭证访问 MS Graph Api
我是使用 Graph Api 的新手,我试图找出一种方法,让我的 Web 应用程序能够访问 Graph Api,而无需每次都要求用户名或密码,方法是让它在每次启动时以编程方式登录。
我有一个我只想在此程序中使用的帐户,如果可能,我希望将此帐户的凭据编码到程序中,而无需注销/注销。
使用示例中推广的 MSAL 或 ADAL 身份验证方法是否可以实现这种类型的访问?
提前感谢您的所有帮助
reactjs - 将 MSAL(Microsoft 身份验证库)与 REDUX 一起使用
我正在尝试使用 REDUX 中的 MSAL 库进行身份验证,但遇到了一些麻烦。当我制作一个仅反应的应用程序并做同样的事情时,我成功获得了访问令牌,但尝试在 REDUX 中使用它,我在尝试获取访问令牌时总是超时。
这是我拥有的代码,但我总是收到以下错误令牌更新操作因超时而失败:null 当我尝试在纯 HTML 中执行此操作或仅响应应用程序时,它可以完美运行。任何形式的帮助将不胜感激。
node.js - 两个 Azure Web 应用程序可以使用相同的令牌进行身份验证吗?
我有一个 SPA 应用程序和一个相关的 API,它可以从中获取数据。(Aurelia 和 Nodejs)
我最近制定了 SPA 上的身份验证,以便它使用 MSAL 针对我们公司的 AAD 对用户进行身份验证,并能够检索应用程序随后也可以用来访问 MS Graph 的令牌。
但是,我还希望我的 API 能够针对 AAD 进行身份验证。我想要的是 API 能够接受来自 SPA 客户端的令牌。
虽然我能够将令牌从客户端发送到 API(Authorization: 'Bearer'...)
我不确定在服务器端如何处理它,然后向身份提供者验证令牌是否有效。
在大多数情况下,我不希望 API 有 UI 问题(即身份验证/登录屏幕)。它应该简单地拒绝任何没有携带正确令牌的请求。
我希望最终将客户端和服务器应用程序都作为应用程序服务托管在 Azure 上,但目前它们是在内部托管的。我认为有一种方法可以确保解决方案无论应用程序托管在哪里都能正常工作。
谢谢你的帮助!
c# - 尝试获取用于访问自定义 api 的令牌时出现 MSAL 错误消息 AADSTS65005
我下载了下面的示例以从 MS Graph 获取访问令牌,它运行良好。现在我更改了代码以从自定义 Web API 获取令牌。在apps.dev.microsoft.com 上,我注册了一个客户端应用程序和一个API。
当我运行代码时,我通过对话框登录 AD,在调试器中得到以下异常:
错误:无效客户端消息 =“AADSTS65005:应用程序 'CoreWebAPIAzureADClient' 请求资源上不存在的范围 'offline_access'。请联系应用供应商。\r\n跟踪 ID: 56a4b5ad-8ca1-4c41-b961-c74d84911300\ r\n相关 ID:a4350378-b802-4364-8464-c6fdf105cbf1\r...
帮助感谢尝试了几天...
node.js - API 不会使用 MSAL 从 SPA 传递的令牌对 AAD 进行身份验证
我正在尝试调整此处和此处引用的示例 B2C 代码,以针对我们的组织 AAD 工作。
我有一个 SPA 应用程序,它通过 MSAL 成功通过 AAD 进行身份验证并接收令牌。SPA 应用程序可以使用令牌从 MS Graph API 中提取数据——所以我确定令牌是有效的。
SPA 当前在本地运行@localhost:9000。
我有第二个应用程序,它是一个运行 @ localhost:3000 的 Nodejs API。SPA 应用程序调用 API,传递用于 GraphAPI 的相同令牌。API 应用程序应该使用该令牌来验证用户并提供对 API 的访问;但是,我只得到一个 401 - Unauthorized。
(我将 Aurelia 用于我的客户端代码。HTTP 请求是使用 Aurelia 的 HTTP 客户端发出的)。
以下是用于调用 API 的 SPA 代码:
我已经在 apps.dev.microsoft.com 上为我的 API 注册了一个应用程序。这是我的服务器端 (API) Nodejs 代码:
我确定我只是误解了这一切是如何工作的,但希望能得到一些指导,了解我需要改变什么才能使其正常工作。
azure - AAD Multitenant App 支持所有 microsoft 帐户的登录
我正在尝试在 Azure AD 中创建一个多租户应用程序,它可以登录所有用户,如 Microsoft live/hotmail,并获得访问权限来访问他们的管理资源 api。我可以从其他域登录获得工作帐户,但不能从真实帐户获得。我得到这个错误-
来自身份提供者“live.com”的用户帐户“mitesh_***@live.com”在租户“默认目录”中不存在,并且无法访问应用程序“382dfccb-33af-4567-90cd******** '在那个租户。需要先将该帐户添加为租户中的外部用户。注销并使用不同的 Azure Active Directory 用户帐户重新登录。
我听说过 MSAL v2 端点可以登录这两种类型的帐户,但我听说这个端点还不支持访问资源管理库的权限。
有没有办法通过 ADAL 或任何其他方式实现这一目标?
谢谢,
米特什