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

如何通过REST API从Azurite模拟器获取OAuth Token?

Azurite OAuth认证相关问题解答

核心说明

Azurite启用basic OAuth模式时,并不遵循Azure AD的标准OAuth流程(即你之前使用的login.microsoftonline.com那套机制),它采用的是基于指定证书的简易签名认证逻辑,无需向外部授权服务器请求Token。

获取Bearer Token的方法

在basic模式下,你只需用启动Azurite时指定的私钥(path/key.pem),对包含特定字段的JWT进行签名即可生成有效Token:

  • 必须包含的JWT payload字段:
    • aud:受众,即Azurite对应服务的URL,比如Blob服务为https://localhost:10000,队列服务为https://localhost:10001,文件服务为https://localhost:10002
    • exp:Token过期时间戳(可选,建议设置合理有效期)
  • 示例代码(Node.js):
const jwt = require('jsonwebtoken');
const fs = require('fs');

const privateKey = fs.readFileSync('path/key.pem', 'utf8');
const token = jwt.sign(
  { aud: 'https://localhost:10000' }, // 替换为你的Azurite服务地址
  privateKey,
  { expiresIn: '1h', algorithm: 'RS256' }
);
console.log(token);

关于替代login.microsoftonline.com的地址

Azurite的basic OAuth模式没有对应的授权服务器地址,因为它不需要走传统的OAuth授权流程获取Token,直接通过上述方式生成签名后的JWT,即可作为Bearer Token用于请求认证。

验证Token有效性

生成Token后,可通过Azurite的REST接口验证,比如调用Blob服务的容器列表接口:

curl -H "Authorization: Bearer <你的Token>" https://localhost:10000/<存储账户名>?comp=list

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 09:23:10