- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当前行为 -
从我们的服务 A 中,我们正在调用服务 B。我们目前使用 client_credentials
作为为服务 B 生成 access_token 的方式(如下所示)。
服务 B 正在验证在其端生成的 token ,一切正常。
预期行为 -
所以,现在我们正在寻找基于 API 的白名单
。因此,在上述情况下,服务 A 将能够调用服务 B 的所有 API,我们希望阻止这种情况。因此,寻求帮助来扩展我们当前的实现,以在不更改资源的情况下支持相同的实现(因为资源在我们团队中意味着 service-2)。
因此,预期行为是服务 A 可以调用服务 B 的 API-1,但不能调用 API-2。
最佳答案
在您的屏幕截图中,您使用的是 Oauth 1.0,您需要设置 resource
这使得您无法在授权内设置API范围,您需要使用OAuth 2.0。顺便说一下,客户端凭证流会将范围设置为 xxx/.default
,此流程也不会包含范围名称,因此您也无法使用客户端凭据流程。
我这里有一个样本。首先,这是Service-B中的设置。我将 Azure AD 集成到我的 Web api 项目中。
builder.Services.AddMicrosoftIdentityWebApiAuthentication(builder.Configuration);
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"ClientId": "client_id",
"ClientSecret": "client_secret",
"Domain": "tenant_id",
"TenantId": "tenant_id"
},
然后在我的网络 API 中:
[ApiController]
[Route("[controller]")]
[Authorize]
public class WeatherForecastController : ControllerBase
{
public WeatherForecastController(){}
[RequiredScope("Tiny.Read1")]
[HttpGet]
public async Task<string> GetAsync()
{
return "world";
}
[HttpGet("greet")]
[RequiredScope("Tiny.Read")]
public string greet() {
return "hello";
}
}
我使用身份验证代码流生成一个访问 token ,其中包含我定义的范围:
这是我的测试结果:
关于如何公开自定义API作用域,可以按照这个official document 。这个答案展示了如何generate access token by auth code flow 。但如果您尝试在 Service-A 中生成访问 token 来调用 Service-B,则可以使用 on_behalf_flow, this answer包含具有 Microsoft 身份的代码片段并使用 _tokenAcquisition 生成访问 token ,以及 this answer用于客户端调用AAD保护的API。
关于azure - 每个 API 的 AAD 访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76231261/
来自他们的文档 - https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-pta-how-it-
AAD 管理角色只能直接分配给用户。无法通过 AAD 组分配它们。 现在 PIM 中有一个“特权访问组(预览)” Pane ,但我找不到任何方法在 Azure AD 组管理中启用角色可分配组。因此,P
AAD 应用程序需要哪些 OAuth API 和权限,以便我可以使用它来授权创建新的 AAD 应用程序,如本 example 中所述。 最佳答案 您可以在 Azure AD Graph API 上向应
我正在配置一堆 Azure Active Directory (AAD) 应用程序,并希望同一组用户成为所有应用程序的所有者。我创建了一个 AAD 组来放置这些用户,但是当我尝试将该组分配为所有者时,
AAD 应用程序需要哪些 OAuth API 和权限,以便我可以使用它来授权创建新的 AAD 应用程序,如本 example 中所述。 最佳答案 您可以在 Azure AD Graph API 上向应
我正在配置一堆 Azure Active Directory (AAD) 应用程序,并希望同一组用户成为所有应用程序的所有者。我创建了一个 AAD 组来放置这些用户,但是当我尝试将该组分配为所有者时,
需要将用户的照片持续同步(不仅仅是一次)到 AD 环境中,然后同步到 Azure AD 中。根据下面的文章,该属性仅在初始同步时同步一次。当有人获得新徽章时,我们的安全小组会更新这些照片,然后我们会更
我们有一个 Office 365 租户,用于为我们的组织提供基本 AD 功能(加入桌面 PC、身份验证等)。 我们还在构建一个独立的移动和网络应用程序。我们有一个与我们的主要 AAD 租户绑定(bin
有人可以帮我解决以下问题吗?提前致谢 我在实验室中设置 AD Connect,并且我的实验室 Active Directory 用户可以正常同步到我的实验室 Azure AD 然后,我第二次通过 Az
我们有一个 Office 365 租户,用于为我们的组织提供基本 AD 功能(加入桌面 PC、身份验证等)。 我们还在构建一个独立的移动和网络应用程序。我们有一个与我们的主要 AAD 租户绑定(bin
有人可以帮我解决以下问题吗?提前致谢 我在实验室中设置 AD Connect,并且我的实验室 Active Directory 用户可以正常同步到我的实验室 Azure AD 然后,我第二次通过 Az
我希望我们的团队在配置与生产 AAD 非常接近的开发 AAD 中完成所有开发工作。这样,我们的工作就不需要更改为在生产环境中工作。 目前我们的团队拥有: 生产 AAD 租户具有: 生产订阅 开发订阅;
使用 Confluence 和 Azure AAD 对 SCIM 实现进行测试,并使用 OIDC 进行身份验证,并遇到以下问题: 如果从 Confluence 中手动删除 SCIM 配置帐户,Azur
使用 Node.js 的 Microsoft MSAL 快速入门的修改版本(原始 here ),我使用隐式流成功接收了 Azure 存储 API 的访问 token 。该 token 包含组声明,但声
我想在遥测中记录以下内容以用于诊断和使用目的: Azure 订阅 ID AAD 租户 ID AAD 应用客户端 ID 我应该将它们视为 secret /PII 并对它们进行哈希/加密吗? (不用说,我
场景: 用户使用域帐户登录桌面 用户在 AAD 中拥有一个与域帐户不同的 Azure 帐户 为 Azure 帐户配置了 AAD 身份验证的 Azure SQL 数据库 用户如何使用 SQL Serve
场景: 用户使用域帐户登录桌面 用户在 AAD 中拥有一个与域帐户不同的 Azure 帐户 为 Azure 帐户配置了 AAD 身份验证的 Azure SQL 数据库 用户如何使用 SQL Serve
我创建了一个使用 Azure Active Directory 保护的 WebAPI。我现在需要对此进行测试并尝试将 fiddler 与授权 header 一起使用。我正在尝试使用以下代码生成 tok
使用 API Graph,我创建了一个包含电子邮件地址的 ADD 组。该地址的域会自动添加到租户中的主要域中。我无法更改租户上的默认域,但我需要将创建的组的域更改为主域以外的域。我怎样才能实现这个目标
我有几个 API(“A 组和 B 组”),它们调用一个中央 API(“API X”)。全部通过 Azure AD 进行身份验证。 在“API X”中,我想将几个路由限制为可用路由的子集。 /api
我是一名优秀的程序员,十分优秀!