- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我读到,如果您在某个范围内的资源 URI 末尾添加 .default,它将返回一个正确的 v1 token 。为 MSAL 设置 protectedResourceMap 时,范围到底应该是什么? 'https://management.azure.com/.default ' 似乎不起作用。 ' https://management.azure.com/user_impersonation 也没有'.
设置范围的正确方法是什么,以便在请求我们的应用程序同意时他们批准 Azure 管理 API?
最佳答案
使用两个斜杠,如下所示:
https://management.core.windows.net//.default
“这是因为 ARM API 需要在其受众声明 (aud) 中使用斜杠,然后用斜杠将 API 名称与范围分开。”
来源: https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/Adal-to-Msal
这是一个完整的示例:
void Main()
{
var tenantId = "<tenantId>";
var clientId = "<clientId>";
var clientSecret = "<clientSecret>";
var credentials = GetCredentials(tenantId, clientId, clientSecret);
Console.WriteLine(credentials);
}
public static async Task<AuthenticationResult> GetCredentials(string tenantId, string clientId, string clientSecret)
{
string authority = $"https://login.microsoftonline.com/{tenantId}/";
IConfidentialClientApplication app;
app = ConfidentialClientApplicationBuilder.Create(clientId)
.WithClientSecret(clientSecret)
.WithAuthority(new Uri(authority))
.Build();
IEnumerable<string> scopes = new List<string>() { "https://management.core.windows.net//.default" };
var result = await app.AcquireTokenForClient(scopes)
.ExecuteAsync();
return result;
}
LINQPad 中 AuthenticationResult 对象的屏幕截图:
示例代码来自此处: https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-netcore-daemon
关于azure - 如何使用 MSAL 正确请求 Azure 资源管理终结点范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54837001/
据我所知,不能保证 Object.finalize() 总是被调用。但是如果有重要的非GC资源,并且用户没有意外调用close(),我该如何释放该资源?PS。 .NET中的Object.Finaliz
我是一名优秀的程序员,十分优秀!