问题标签 [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 回答
550 浏览

azure-active-directory - Azure AD 应用:迁移到 v2.0

这是我的场景:客户端 Windows 窗体应用程序通过 Azure AD 进行身份验证并使用访问令牌访问多个 Web api 服务。到目前为止,我一直在使用端点 1 并使用 Azure 门户注册这两个应用程序。现在似乎有一种新的方式,但我有点迷失在这里。

对于初学者来说,似乎两个应用程序(客户端和服务器)都可以在新应用程序门户 ( https://apps.dev.microsoft.com ) 的同一个应用程序中注册。我确实看到了一个添加平台的地方,并且我已经添加了本机和 Web api 的条目。但我从这里去哪里?例如,在 azure 门户中,我必须配置客户端应用程序才能调用 Web api 服务。我怎么在这里?

是否有适用于这种情况的完整示例,例如我们必须使用 ADAL 的示例(https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-code-samples#native-application- to-web-api )?

谢谢,

问候,路易斯

0 投票
1 回答
826 浏览

azure-active-directory - 哪个选项更好,MSAL.js 或 Web API 上的 OpenIdConnect nuget 包

我们有一个托管在 Internet 上的具有匿名访问权限的 SharePoint 发布网站。根据最新要求,我们需要为门户中的某些页面实现用户登录(AzureAD、Microsoft 个人和工作帐户等)。

我们提出了两种方法:

  1. 使用 msal.js 文件。在客户端自己实现用户登录,并使用用户令牌调用合作伙伴中心 Web API 以检查用户的有效性并执行所需的操作。
  2. 在 Web API 端使用 Microsoft.Owin.Security.OpenIdConnect nuget 包创建一个 Web API 来实现登录,并使用它来执行从后端检索和修改数据的必要操作。

哪种方法在我们的场景中效果最好?有没有其他方法可以实现这一目标?

0 投票
2 回答
10931 浏览

azure - MSAL 令牌在 1 小时后过期

我在 Xamarin 应用程序中使用 MSAL 进行 Azure AD 身份验证。令牌的有效期为 1 天(使用 AuthenticationResult 的ExpiresOn值查看)。我的问题是,1 小时后,AcquireTokenSilentAsync 失败,然后需要调用 AcquireToken。

我无法理解,即使令牌有效期为 1 天,并且刷新令牌的有效期更长,为什么每隔 1 小时要求验证一次?这可以使用任何参数值或任何其他方式进行更改吗?

0 投票
1 回答
171 浏览

sharepoint - 用于 SharePoint 站点上的 Web API 集成的 Azure Active Directory v2.0 查询

我们有一个托管在 Internet 上的具有匿名访问权限的 SharePoint 发布网站。根据最新要求,我们需要实现用户登录(AzureAD、Microsoft 个人和工作帐户等)。

https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-flows

根据此处的文档,我们希望使用 Web API 来实现这一点,以从数据库中获取安全信息。我们正在考虑使用 MSAL.js 文件在 SharePoint 上进行用户登录和注销,在获得不记名令牌后,我们可以调用 Web API 以获取数据库中的其他数据。

独立 Web API 限制:“您可以使用 v2.0 端点构建受 OAuth 2.0 保护的 Web API。但是,该 Web API 只能从具有相同应用程序 ID 的应用程序接收令牌。您不能从具有不同应用程序 ID 的客户端访问 Web API。客户端将无法请求或获取对您的 Web API 的权限。”</p>

我们如何在App Registration Portal上创建两个具有相同应用程序 ID 的应用程序?或者我们应该在 SharePoint 和 Web API 端使用相同的应用程序 ID?

0 投票
3 回答
534 浏览

c# - HTTP 请求未命中 WEB API 2 控制器

我正在尝试使用 MSAL 保护 Web API 2。我的身份验证客户端工作,我得到一个有效的令牌(用 jwt.io 验证)。

我有一个这样配置的 Web API 2:

WebAPI 配置:

我的 Startup.Auth.cs 看起来像这样:

还有一个简单的控制器:

在添加 [Authorize] 属性之前,API 就像一个魅力一样工作并正确返回了数据。

如果我在控制器的 GET 函数中设置断点,它不会被命中,我会得到 401 : Authorization has been denied for this request。我很确定我在apps.dev.microsoft.com 中正确注册了我的应用程序。

我不明白我的 API 在什么时候阻止了调用。非常感谢任何建议!

谢谢 !

0 投票
1 回答
630 浏览

asp.net-web-api - 此请求错误的 MSAL Web API 授权已被拒绝

我收到消息

当尝试使用来自https://github.com/AzureADQuickStarts/AppModelv2-WebAPI-DotNet的 API 时,如下面的邮递员屏幕截图所示:

在此处输入图像描述

我正在尝试从 js 文件中调用它

0 投票
1 回答
1170 浏览

azure - .NET Azure SDK 中的 Login-AzureRmAccount(和相关)等效项

我开始想知道,什么能等同于

  • 登录-AzureRmAccount
  • 新 AzureRmADServicePrincipal
  • New-AzureRmADApplication

Azure SDK for .NET中。出于某种原因,我似乎无法找到它们,我想在这篇博文中做一些类似的事情,但是在代码中。

<编辑:2017-06-20 00:42

Tom Sun那里得到一些线索并深入探讨,我找到了一个答案,它部分解决了“旧图书馆”的问题,也是最初选择订阅的问题。它在https://stackoverflow.com/a/41360632/1332416进行了描述,但是该代码也已经有点旧了,并且再深入一点,在https://将其重写为更新的形式stackoverflow.com/a/38036598/1332416。然而,这还没有完全存在,我继续戳得更远(除非有人戳得更远)。我想我不准确地改写了原来的问题。我想重新创建“使用 PowerShell 的通常登录流程”,但这次是在代码中。不过,这些 PS 命令很难确定。:)

关于使用 PowerShell 选择订阅的部分可能是这样的: $subscription = Get-AzureRmSubscription | Out-GridView -Title "Select the subsbcription for the deployment" -PassThru Select-AzureRmSubscription -SubscriptionId $subscription.SubscriptionId

0 投票
1 回答
753 浏览

c# - MSAL + Azure 应用服务

我之前已经发布过这个,但是这个帖子变得非常广泛和混乱,并且从未达成过解决方案。我用清晰简洁的代码块和我想要的结果重新发布。

我希望将客户端流身份验证用于 Azure 应用服务后端。我想使用 MSAL 来支持 Microsoft 帐户 (MSA) 和 AAD 帐户。被困在这个问题上好几个星期了,看不到任何解决方案。

为什么这不起作用?我该怎么做才能让它工作?

获得 401 异常,尝试使用 MobileServiceAuthenticationProvider.WindowsAzureActiveDirectory 以及 MobileServiceAuthenticationProvider.Microsoftaccount

--Microsoft 帐户的应用服务身份验证配置:

出现在 apps.dev.microsoft.com 中的 ClientID 和 ClientSecret

--AAD 的应用服务身份验证配置:

出现在 apps.dev.microsoft.com 中的 ClientID

发行者 URL:https ://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration

客户密码:(空白)

0 投票
0 回答
2128 浏览

angular - 如何在 Angular2 中使用 MSAL 执行登录重定向

我正在尝试使用 Angular2 中的 MSAL 库进行 B2C Azure 身份验证。登录页面完美地重定向到 Azure 页面并提示用户输入用户名和密码。单击登录按钮并且身份验证成功后,该页面必须将自身重定向回我的应用程序登录页面并将“用户”对象设置为从 AzureAD 获取的对象。尽管身份验证成功,但未设置用户对象并且应用程序失败。

app.component.ts

auth.service.ts

我对 Angular2 完全陌生,并且处于学习曲线的开始阶段。经过一番阅读,我发现 observable 是前进的方式(我可能是错的)并在服务“Observable”中设置了用户对象,并让组件订阅它,以便可以捕获服务对用户对象的任何更改并由组件对其采取行动。但它不起作用。

app.component.html

与上面的代码一样,即使在成功验证后,我也只得到“登录”按钮(因为未设置用户),而不是预期的其他按钮。任何引导我走向正确方向的帮助将不胜感激。

0 投票
1 回答
1184 浏览

azure-ad-b2c - Azure AD B2C iOS 应用令牌错误

这是我的应用程序的配置:

在此处输入图像描述

这是登录和注册政策

在此处输入图像描述

现在这是当我使用我的配置运行以下代码时它给我的错误:https ://github.com/Azure-Samples/active-directory-b2c-ios-swift-native-msal

错误如下:

在此处输入图像描述