我 正在 实现 Microsoft Auth code flow , 但 遇到 了 这个 错误 。
基于 this code example , 下面 是 我 如何 初始 化 客户 端 :
const config = {
auth: {
clientId: process.env.MICROSOFT_CLIENT_ID,
authority: process.env.MICROSOFT_AUTHORITY,
clientSecret: process.env.MICROSOFT_CLIENT_SECRET,
},
};
const cca = new msal.ConfidentialClientApplication(config);
中 的 每 一 个
稍后 , 我 想 创建 一 个 身份 验证 URL , 将 用户 重 定向 到 :
const authCodeUrlParameters = {
scopes: ["user.read"],
redirectUri: "http://localhost:8080/oauth/microsoft",
state: 'state_here',
};
cca
.getAuthCodeUrl(authCodeUrlParameters)
.then((authCodeUrl) => {
return authCodeUrl;
})
.catch((error) => console.log(JSON.stringify(error)));
格式
但 我 得到 这个 错误 :x1月 1 日
基于 the docs about errors , 它 看 起来 像 是 thrown before requests are made when the given user config parameters are malformed or missing.
任何 人 都 能 发现 配置 的 错误 吗 ?
1条答案
按热度按时间piztneat1#
此 错误 是 由于 应用 程序 中 缺少 配置 要求 造成 的 。 最 重要 的 是 , 请 检查 授权 请求 URL 中 是否 缺少 参数 ( 如 state 和 nonce ) 以及 重 定向 URL 。
这里 请求 URL 可能 需要 state 和 nonce 参数 作为 authCodeUrlParameters 的 一 部分 来 构造 URL 。
在 authCodeUrlParameters 中 , 查看 遗漏 了 哪些 参数 , 因为 它们 可能 导致 url 为 空 。
您 尝试 在 knownAuthority 中 指定 您 的 域
例如 :
中 的 每 一 个
请 确保 重 定向 URL 的 格式 正确 :
请 参阅 Redirect URI (reply URL) restrictions - Microsoft Entra | Microsoft Learn
设置 正确 的 网址 后 , 我 可以 得到 适当 的 响应