客户端配置错误Microsoft OAuth流程

j91ykkif  于 2022-11-21  发布在  其他
关注(0)|答案(1)|浏览(138)

我 正在 实现 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.
任何 人 都 能 发现 配置 的 错误 吗 ?

piztneat

piztneat1#

此 错误 是 由于 应用 程序 中 缺少 配置 要求 造成 的 。 最 重要 的 是 , 请 检查 授权 请求 URL 中 是否 缺少 参数 ( 如 state 和 nonce ) 以及 重 定向 URL 。

这里 请求 URL 可能 需要 state 和 nonce 参数 作为 authCodeUrlParameters 的 一 部分 来 构造 URL 。
在 authCodeUrlParameters 中 , 查看 遗漏 了 哪些 参数 , 因为 它们 可能 导致 url 为 空 。
您 尝试 在 knownAuthority 中 指定 您 的 域
例如 :

auth: {
        clientId: 'xxxx-xx-xx-xx-xxxxx',
        authority: '<give authority>', 
        knownAuthorities: ['<domain here>']
        redirectUri: 'https://localhost:8080'
    },
cache: {
    cacheLocation: "sessionStorage",
    storeAuthStateInCookie: false,
    secureCookies: false
},

中 的 每 一 个
请 确保 重 定向 URL 的 格式 正确 :
请 参阅 Redirect URI (reply URL) restrictions - Microsoft Entra | Microsoft Learn
设置 正确 的 网址 后 , 我 可以 得到 适当 的 响应

相关问题