Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有用户分配标识的Azure应用程序服务:是否在应用程序中检索clientId?_C#_Azure_Azure Web App Service_Azure Managed Identity - Fatal编程技术网

C# 具有用户分配标识的Azure应用程序服务:是否在应用程序中检索clientId?

C# 具有用户分配标识的Azure应用程序服务:是否在应用程序中检索clientId?,c#,azure,azure-web-app-service,azure-managed-identity,C#,Azure,Azure Web App Service,Azure Managed Identity,我正在使用一个用户分配的标识(没有系统管理的标识)运行Azure应用程序服务: 应用程序(即我的自定义代码)中是否有检索身份的clientId的方法?或者我是否需要在应用程序设置中将其设置为在应用程序中可用 问题来自这样一个事实,即我想使用此标识使用进行身份验证,它需要clientId 还是使用和设置应用程序设置的更好方法?查看具有用户分配的托管标识的应用程序服务中的环境变量,没有包含该标识的内容 因此,您应该将id设置为应用程序上的应用程序设置,并使用它。 我绝对建议您使用AzureCred

我正在使用一个用户分配的标识(没有系统管理的标识)运行Azure应用程序服务:

应用程序(即我的自定义代码)中是否有检索身份的clientId的方法?或者我是否需要在应用程序设置中将其设置为在应用程序中可用

问题来自这样一个事实,即我想使用此标识使用进行身份验证,它需要clientId


还是使用和设置应用程序设置的更好方法?

查看具有用户分配的托管标识的应用程序服务中的环境变量,没有包含该标识的内容

因此,您应该将id设置为应用程序上的应用程序设置,并使用它。 我绝对建议您使用AzureCredential,因为它是较新的。
较旧的AzureServiceTokenProvider无论如何都不会给您带来任何优势。

谢谢!你从哪里得到AzureCredentials更好的信息?我仍然看到TokenProvider的一个优点是,它可以与不同的提供程序(例如CLI、MSI、AAD连接的机器)一起开箱即用,并自动尝试所有这些提供程序。使用AzureCredentials时是否有类似的情况?DefaultAzureCredential的作用相同:)事实上,较新版本支持更多提供程序,如VS代码和共享令牌缓存。哦,我刚刚意识到你在谈论其他AzureCredential:\我正在谈论的新AzureCredential来自Azure.Identity软件包。你指的是这个吗?我相信这是另一种自由。如果我可以用Fluent Management SDKIf Azure来代替它,我还必须尝试一下。标识不能直接使用,它看起来像AzureCredentials没有密封,所以你可以创建一个新类,从它继承并使用DefaultAzureCredential来获取令牌。