Oauth 2.0 “使用apple登录”;无效的“U客户端”;在使用服务标识符将Oauth2代码授予流第一次重定向到apple时

Oauth 2.0 “使用apple登录”;无效的“U客户端”;在使用服务标识符将Oauth2代码授予流第一次重定向到apple时,oauth-2.0,apple-sign-in,Oauth 2.0,Apple Sign In,在这一点上,我可能在苹果的配置面板中遗漏了一些非常明显的东西,但在与其他几个人花了一天时间讨论这个问题之后,我又回到了vanilla节点(没有第三方依赖关系) 我们的帐户中有2个应用程序标识符,已通过Apple登录并检查推送通知。我在某个地方向其中一个添加了服务标识符,并将重定向URI列为白名单。当地一切顺利 我进入了生产环境,对于完全相同的配置,我不断得到错误的重定向uri,尽管uri被列入了白名单。我想这可能是因为有2个URI,所以我删除了一个有效的URI,希望生产中的URI可以开始工作 他

在这一点上,我可能在苹果的配置面板中遗漏了一些非常明显的东西,但在与其他几个人花了一天时间讨论这个问题之后,我又回到了vanilla节点(没有第三方依赖关系)

我们的帐户中有2个应用程序标识符,已通过Apple登录并检查推送通知。我在某个地方向其中一个添加了服务标识符,并将重定向URI列为白名单。当地一切顺利

我进入了生产环境,对于完全相同的配置,我不断得到错误的重定向uri,尽管uri被列入了白名单。我想这可能是因为有2个URI,所以我删除了一个有效的URI,希望生产中的URI可以开始工作

他们都不工作了

我添加了一组新的应用程序id+服务id+密钥,用于整个流程,在第一次重定向到apple时,我从未通过“无效的\u客户端”

代码:


我们通过进入More>Configure并添加我们的域来解决这个问题,确保SPF勾号是绿色的(如果不是绿色的,请快速通过谷歌找到如何为您的配置修复它)。在此之后,我们停止获取
无效的\u客户端
错误。
让我们无意中发现这一点的是,它看起来并不重要,因为它说它是用于电子邮件的——我们浏览了一下,认为我们可以稍后再看


    const url = new URL("https://appleid.apple.com/auth/authorize");

    url.searchParams.append("state", "fdbd287b1f");
    url.searchParams.append("response_type", "code");
    url.searchParams.append("scope", "name email");
    url.searchParams.append("response_mode", "form_post");
    url.searchParams.append(
      "redirect_uri",
      "https://raiseitupdev.com/auth/apple/redirect",
    );
    url.searchParams.append("client_id", "com.myname.auth");

    return res.redirect(url.toString());