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

ASP.NET Core API已用Azure AD隐式授权保护,能否配置客户端凭证流通过Postman访问?

可以配置客户端凭证流实现Postman无手动认证访问API

当然可以!客户端凭证流就是专门为这种服务对服务的场景设计的,完全能让Postman不用手动走认证流程就能调用你的ASP.NET Core API。下面一步步来完成配置:

  • 第一步:在Azure AD中注册用于客户端凭证流的应用
    你之前的隐式授权是给前端用的,现在需要单独注册一个服务端类型的应用来适配客户端凭证流:

    • 登录Azure门户,找到Azure Active Directory,进入「应用注册」页面
    • 点击「新注册」,给应用起个好记的名字(比如“Postman API Client”),账户类型选「仅此组织目录中的账户」(可根据你的实际场景调整)
    • 注册完成后,务必记下应用程序(客户端)ID和目录(租户)ID,后面配置会频繁用到
  • 第二步:给新应用分配API的应用权限
    客户端凭证流是基于服务身份的,没有用户上下文,所以要分配应用权限而非委托权限:

    • 在新应用的「API权限」页面,点击「添加权限」
    • 选择「我的API」,找到你用来保护ASP.NET Core API的那个应用注册
    • 勾选对应的应用权限(如果你的API定义了自定义权限,就选对应项;如果没有,选默认权限即可)
    • 点击「授予管理员同意」(这一步必须做,应用权限需要管理员手动授权才能生效)
  • 第三步:生成客户端密码(或证书)
    客户端需要凭证来向Azure AD请求令牌,这里先讲操作简单的密码方式:

    • 进入新应用的「证书和密码」页面,点击「新建客户端密码」
    • 输入描述和过期时间,点击「添加」后,立刻复制生成的密码值(离开这个页面后就再也看不到了,一定要妥善保存)
  • 第四步:确保你的ASP.NET Core API支持客户端凭证流
    其实默认情况下,用Microsoft Identity保护的API是支持多种授权流的,只要基础配置正确就行:

    • 检查你的appsettings.json里的AzureAD配置,确保包含租户ID、API的客户端ID,示例如下:
      "AzureAd": {
        "Instance": "https://login.microsoftonline.com/",
        "TenantId": "你的租户ID",
        "ClientId": "你的API的客户端ID"
      }
      
    • 如果是.NET 6+,在Program.cs里的AddMicrosoftIdentityWebApi配置不需要额外修改,默认就会验证客户端凭证流的令牌
  • 第五步:在Postman中配置OAuth2.0客户端凭证流
    现在就可以让Postman自动获取令牌并调用API了:

    • 打开Postman,新建一个API请求,输入你的API地址和请求方法
    • 切换到「Authorization」标签,类型选择「OAuth 2.0」
    • 点击「Configure New Token」,填写以下信息:
      • Token Name:随便起个名字(比如“API Client Token”)
      • Grant Type:选择「Client Credentials」
      • Access Token URL:https://login.microsoftonline.com/你的租户ID/oauth2/v2.0/token
      • Client ID:第一步记下的Postman客户端应用ID
      • Client Secret:第三步复制的客户端密码
      • Scope:填写api://你的API客户端ID/.default(这个格式表示使用该API下所有已分配的应用权限)
    • 点击「Get New Access Token」,Postman会自动向Azure AD请求令牌,获取成功后点击「Use Token」
    • 现在发送请求,就能直接访问API,不用再手动走认证流程了

额外说明

  • 客户端凭证流是无用户上下文的,所以如果你的API里有依赖用户信息(比如用户ID、角色)的逻辑,要注意调整,这种方式调用时不会携带用户相关的Claims
  • 如果你想提升安全性,可以用证书代替客户端密码,步骤类似,只需在Azure AD里上传证书,然后在Postman里配置对应的证书信息即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 08:17:49