You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从AppAuthentication迁移至Azure.Identity:如何使用Bearer Token?

解决方案

在Azure.Identity中,没有直接对应旧版TokenCredentials的内置类型,但可以通过自定义TokenCredential实现类来传入已有的Bearer Token,具体实现如下:

  1. 编写自定义TokenCredential类
    实现TokenCredential抽象类,重写获取Token的方法,直接返回你持有的Bearer Token:
using Azure.Core;
using System;
using System.Threading;
using System.Threading.Tasks;

public class StaticBearerTokenCredential : TokenCredential
{
    private readonly AccessToken _accessToken;

    public StaticBearerTokenCredential(string bearerToken, DateTimeOffset expiresOn)
    {
        _accessToken = new AccessToken(bearerToken, expiresOn);
    }

    public override AccessToken GetToken(TokenRequestContext requestContext, CancellationToken cancellationToken)
    {
        return _accessToken;
    }

    public override ValueTask<AccessToken> GetTokenAsync(TokenRequestContext requestContext, CancellationToken cancellationToken)
    {
        return new ValueTask<AccessToken>(_accessToken);
    }
}
  1. 用自定义凭证初始化SecretClient
    将你的Bearer Token和对应过期时间传入自定义类,再用来创建SecretClient实例:
// 替换为实际的Bearer Token和过期时间
var tokenCredential = new StaticBearerTokenCredential(myBearerToken, expiresOn);
var secretClient = new SecretClient(new Uri(keyVaultURI), tokenCredential);

关键注意点

  • 确保传入的Bearer Token未过期,且拥有访问目标Key Vault的必要权限(如SecretGet、SecretList等)。
  • 若Token过期,需重新生成并创建新的StaticBearerTokenCredential实例,也可在自定义类中扩展Token刷新逻辑。

内容的提问来源于stack exchange,提问作者shinjidev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 08:39:55