- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个 .Net Core 3.1 WPF 应用程序,它将针对 Azure Active Directory 进行身份验证。我已在 Azure 中创建了应用程序注册,并且对 PublicClientApplication.AcquireTokenInteractive 的调用成功。
但是,现在,我想添加另一层安全性 - 只有特定组中的用户才能运行 WPF 应用程序。我尝试了多种方法:
选项 1: 我尝试将此代码添加到对 AcquireTokenInteractive 的调用中。我认为这需要用户在我的组中,但它并没有强制调用失败。我找不到有关如何格式化声明字符串的文档 - 如果声明字符串格式正确,这也许会起作用。
var result = await App.AcquireTokenInteractive(new List<string> { Scope })
.WithAccount(accounts.FirstOrDefault())
.WithClaims("<MY AD Group's Guid Id>")
.WithPrompt(Prompt.SelectAccount)
.ExecuteAsync()
.ConfigureAwait(false);
选项 2。我还考虑过在成功调用 AcquireTokenInteractive 后尝试查询组成员身份,但我不确定执行此操作的最佳方法。
实现此目的的最佳方法是什么 - .Net Core 3.1 WPF 应用程序针对 Azure AD 进行身份验证并确认用户位于特定组中。
谢谢
最佳答案
您可以按照说明在 token 中包含群组声明 here 。您只需修改应用程序 list 中的“groupMembershipClaims”字段即可:
"groupMembershipClaims": "SecurityGroup"
token 将包含用户所属组的 ID,如下所示:
{
"groups": ["{group id}"]
}
然后就可以根据代码中的group id进行逻辑判断了。
另一种方法是adding an appRole进入您的 Azure AD 应用程序和 assigning users and groups to roles .
然后该组中的用户将拥有如下声明:
{
"roles": ["{the role you customized}"]
}
然后您可以根据用户的角色实现授权逻辑。
关于wpf - PublicClientApplication - AcquireTokenInteractive - 组成员资格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59365286/
我正在编写一个 .Net Core 3.1 WPF 应用程序,它将针对 Azure Active Directory 进行身份验证。我已在 Azure 中创建了应用程序注册,并且对 PublicCli
我正在使用 女士 至 AcquireTokenInteractive使用 Microsoft Graph SDK 简码 try { string[] scopes = { "user.read"
在 EWS OAuth 流程中,我们可以通过以下方式获取委托(delegate)权限: var pcaOptions = new PublicClientApplicationOptions {
在 EWS OAuth 流程中,我们可以通过以下方式获取委托(delegate)权限: var pcaOptions = new PublicClientApplicationOptions {
我是一名优秀的程序员,十分优秀!