Azure C# Framework 下如何跳过身份验证验证码完成认证获取RespondsToken
实现方案说明
首先明确:OAuth 2.0流程中的验证码校验是Azure AD默认的安全机制,生产环境不建议跳过,仅测试场景下可通过以下两种方案实现无验证码获取令牌:
方案1:使用客户端凭证流(推荐测试/应用级调用场景)
该流程本身无用户交互环节,无需验证码校验,直接通过应用身份获取令牌,操作步骤如下:
- 进入你已创建的App Registration配置页,打开「证书和密码」面板,新建客户端密码,保存生成的明文密钥(页面刷新后密钥将不可见)
- 记录3个核心配置值:
客户端ID(Client ID)、客户端密钥(Client Secret)、租户ID(Tenant ID) - 发送POST请求到令牌端点获取令牌,请求示例参数如下:
POST地址:
https://login.microsoftonline.com/{替换为你的租户ID}/oauth2/v2.0/token
请求体表单参数:grant_type=client_credentials client_id=替换为你的客户端ID client_secret=替换为你刚才保存的客户端密钥 scope=api://{替换为你的客户端ID}/.default
请求成功后返回报文中的access_token即为所需令牌。
方案2:使用资源所有者密码凭证流(仅适用于用户身份令牌测试场景)
如果你需要获取对应用户身份的令牌而非应用身份令牌,可使用该流程,直接传入用户账号密码即可跳过验证码获取令牌,注意:
- 若你配置的Azure AD租户/目标用户开启了多因素认证(MFA),该流程无法使用,必须走验证码环节
- 该流程会明文传输用户密码,严禁在生产环境使用
参考截图
内容的提问来源于stack exchange,提问作者Ststav Mag
相关产品推荐
相关产品推荐

