1

目前,我们正在开发一个 Azure 应用服务应用程序,该应用程序具有在应用服务设置期间分配的系统托管标识。我们使用带有 RBAC 的托管标识来访问其他 Azure 资源,并且工作正常。

现在我想从底层托管标识中获取一些信息来执行一些检查。特别是我想读取分配给此托管标识的应用程序 ID。我想在 C# 中做到这一点。我怎样才能访问这些信息?

任何帮助表示赞赏。提前致谢。

问候, 斯塔蒂

4

1 回答 1

0
    var credential = new DefaultAzureCredential();
    string[] scopes = new string[] { "https://graph.microsoft.com/.default" };
    var token = await credential.GetTokenAsync(new Azure.Core.TokenRequestContext(scopes));

    var handler = new JwtSecurityTokenHandler();
    var jsonToken = handler.ReadToken(token.Token) as JwtSecurityToken;
    var appid = jsonToken.Claims.First(c => c.Type == "appid").Value;
    Console.WriteLine(appid);
于 2021-03-22T02:17:13.917 回答