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

c# - 使用服务帐户读取/更新 O365 用户的日历

我想使用服务帐户来读取和更新 O365 用户的日历。我希望访问的所有用户都与我的帐户共享了他们的日历。

我有一个应用程序,它使用 AAD v2.0 MSAL 进行身份验证。问题是我想使用我的凭据来更新/读取这些用户的日历,但我不想使用此帐户登录,我希望在调用我的 API 端点时存储和使用这些凭据。

使用 Exchange 网络服务从存储的用户发送电子邮件的示例:

现在我想使用 MSAL 对读取/更新用户日历执行相同的操作。这可以做到吗?如果没有,是否有其他方法可以做到这一点,比如使用证书?

例如,在 ADAL 中,我们有这些:

0 投票
1 回答
109 浏览

asp.net - Issue deploying ASP.NET application, having MSAL and OWIN middleware

I have a web application in which, I have used Microsoft Authentication layer and custom OWIN middleware, this application is to integrate Microsoft Office Unified API's. All works great while the app is in development mode and development server.

But when it is deployed on local IIS or any other IIS server, it throws an error. The issue is when i try to log in after successfully crossing OWIN authentication. The next step is loading of API in async way. I face this issue while the code attempts to access: GetMyFilesAndFolders and GetUsers API. There comes and error which states:

Access to the path 'C:\Windows\system32\config\systemprofile' is denied.

It tried a lot but no luck why this error is coming.

Any help will be highly appreciated.

You can get one reference https://graph.microsoft.io/en-us/docs [enter image description here][1]

0 投票
1 回答
154 浏览

msal - 在 ASP.NET Core 中使用 MSAL 获取仅应用程序令牌的 PlatformPlugin 异常

我正在尝试创建一个将 MSAL 用于客户端凭据流的 ASP.NET Core 应用程序。

尝试获取访问令牌时出现以下异常:

身份验证仿照此示例:active-directory-dotnet-webapp-openidconnect-aspnetcore-v2

授权仿照此示例:active-directory-dotnet-daemon-v2

我的应用程序已注册 Mail.Read 应用程序权限。这是引发异常的代码:

还尝试使用“ https://graph.microsoft.com/.default ”范围,如在守护程序示例中。

0 投票
3 回答
2308 浏览

azure-active-directory - 如何使用 MSAL 对 AAD B2C 进行身份验证?

我有一个使用 ADAL 的客户端/服务器身份验证的工作版本。但是,当您想要使用本地帐户(即,只有一个用户名或只有一个电子邮件地址,除了 AAD 之外没有支持身份验证器)时,B2C AAD 似乎不能很好地与 ADAL 一起使用。看来我们应该用于本地帐户的 API 是 MSAL 的 alpha 版本。到现在为止还挺好。我可以使用 Graph API 并使用以下代码创建本地用户,我似乎正在验证本地用户“joeconsumer@mycompany.com”:

问题是我使用 WCF 中的自定义安全令牌机制将安全令牌从“result.Token”传递回服务器。服务器上用于使用 ADAL 的代码似乎不再接受来自上述调用的安全令牌:

错误信息是:

在此处输入图像描述

谁能告诉我这里发生了什么?我需要在服务器上进行身份验证的不同方法吗?

0 投票
1 回答
438 浏览

azure-ad-b2c - 在 AspNetCore 中为 Azure AD-B2C 使用 MSAL?

这是我的问题,我在 VS2017 RC 中创建了一个全新的 AspNetCore WebApplication。

由于我想使用 Azure AD B2C 进行身份验证,因此我添加了所需的 NuGet 包:

然后我添加所有代码来配置身份验证。事实上,我复制了这个 Channel9 视频中演示的应用程序:https ://channel9.msdn.com/events/Ignite/Australia-2017/CLD336a

它工作正常,我可以按预期进行身份验证。现在我想获得一个 access_token 以访问我的 WebApi 也使用 AAD-B2C 保护。为此,我需要将 ResponseType 更改为

并处理OnAuthorizationCodeReceived事件。为此,我的理解是我必须添加 Nuget Package Microsoft.IdentityModel.Clients.ActiveDirectory。但是这个库不会针对我需要 AAD-B2C 的 v2.0 端点。

所以我在另一个 GitHub 解决方案(https://github.com/dzimchuk/azure-ad-b2c-asp-net-core)中看到我可以使用这个Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory包。

不幸的是,这个包与 NETCoreApp,Version=v1.0 不兼容,我在尝试将它添加到我的项目时收到此错误消息:

一个或多个包与 .NETCoreApp 不兼容,Version=v1.0 (win-x64)。

包 Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory 4.0.209160138-alpha 与 netcoreapp1.0 (.NETCoreApp,Version=v1.0) / win-x86 不兼容。包 Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory 4.0.209160138-alpha

我错过了什么?

0 投票
2 回答
2286 浏览

azure - 在 Xamarin.Forms 中使用 MSAL 获取 Azure B2C SignUpSignIn 应用程序声明

我正在使用 Azure B2C 和 MSAL(Microsoft.Identity.ClientNuGet 包)创建一个 Xamarin.Forms 应用程序来对用户进行身份验证。当应用程序打开时,我尝试使用以下代码在后台对它们进行身份验证:

如果失败,应用程序会切换并使用标准AquireTokenAsync()方法对其进行身份验证。

我正在使用的SignUpSignInpolicy应用程序声明电子邮件、名字和姓氏、对象 ID 和生日,这是一个自定义字符串属性。

我想要做的是获取经过身份验证的用户的电子邮件、姓名和生日(如果他们必须登录),以便我可以从该数据创建一个用户对象,该数据将在整个应用程序中使用。有没有办法从中获取这些数据AuthenticationResult?如果没有,我该如何检索SignUpSignIn应用程序声明?我是身份验证的新手,所以我可能遗漏了一些重要的东西。

0 投票
1 回答
1532 浏览

azure-active-directory - 身份验证过程获取用户所属的 Azure AD 组并执行逻辑

有没有办法获取用户所属的组,这样我们就可以处理身份验证,甚至抛出异常,这样令牌就不会被创建。

我们需要组的原因是我们无法在 Azure AD 中创建 OU,而之前我们可以在 LDAP 中创建。我们检索了专有名称,因此获得了有关该用户的非常丰富的信息。

最后,我们确实看到您可以在本地创建一个 OU,但读取到 Graph API 无法识别它或无法检索它。

我们正在尝试在SecurityTokenValidated身份验证过程的阶段执行逻辑,并且每当我们尝试使用时都会中断该过程:

这是因为我们使用的是 MSAL 吗?

0 投票
1 回答
195 浏览

azure - Azure AD“经典”、ADFS“3.0”和 B2C 之间的确切协议差异是什么

此答案描述了 MSAL 和 ADAL 在各种用例和上下文(移动、非移动)中的区别

这些实现之间的确切协议差异是什么?

0 投票
1 回答
2492 浏览

asp.net-identity - OpenId Connect 中用户的唯一 ID 是什么

我们有一个使用 Asp.Net Identity 的 Asp.Net 4.5 MVC 应用程序来管理我们的客户数据库。我们目前正在使用 Microsoft 帐户身份验证。我们正在考虑使用 OpenId Connect,以便拥有工作/学校帐户的客户也可以登录添加登录到 .NET MVC Web 应用程序

Microsoft 帐户身份验证返回 ProviderKey 作为已登录用户的唯一 ID。这映射到我们客户数据库中的 UserId。

OpenId Connect 似乎没有返回 ProviderKey,但NameIdentifier看起来很有希望 ClaimsPrincipal.Current.FindFirst(System.IdentityModel.Claims.ClaimTypes.NameIdentifier)?.Value;

OpenId Connect返回的是NameIdentifier用户的唯一标识吗?随着时间的推移,它能否可靠地用于唯一地识别用户?

0 投票
2 回答
472 浏览

xamarin - Xamarin.Android auth AD B2C 没有表单。使用 MSAL 还是 AppAuth?

我正在尝试使用 Xamarin.Android 将 AD B2C 与我的移动应用程序一起使用,而不是 Forms。

有关如何将 AD B2C 与 Xamarin 一起使用的所有示例都使用 MSAL,这似乎依赖于使用 Xamarin.Forms。我找不到有关如何将其集成到 Xamarin.Android 的示例或文档。

我能够找到但不满足我的需求的示例:
https ://github.com/Azure-Samples/active-directory-android-native-appauth-b2c
https://github.com/Azure-Samples/active-目录-b2c-xamarin-native

我阅读并尝试申请的文档,但没有导致成功的身份验证或不适用于我的情况:
https ://developer.xamarin.com/guides/xamarin-forms/cloud-services/authentication/azure/
https: //developer.xamarin.com/guides/xamarin-forms/cloud-services/authentication/azure-ad-b2c/
https://developer.xamarin.com/guides/xamarin-forms/cloud-services/authentication/azure- ad-b2c-移动应用/

有没有办法在 Xamarin.Android 中使用 MSAL 而无需使用 Forms,或者我是否必须使用 AppAuth 等其他库?

更新:我如何尝试使用 MSAL:

在调用 AquireTokenAsync(..) 时,这会导致 NullPointerException:
"Value cannot be null. Parameter name: clientId"
我使用与示例中相同的参数(并且它们不会崩溃),一切都应该被初始化. 此错误的一个原因可能是从 android 调用 AquireTokenAsync(..) 的参数不同。(请查看PublicClientApplication的源代码并查找预编译器指令。)
但如果是这种情况,我真的不知道如何构建项目,因此选择了正确的 android 版本。

UPDATE2:从应该启动身份验证过程的活动中添加代码: