使用 Apple 登录 - 更新的范围未反映在 JWT 声明中

Sign In With Apple - Updated Scope Not Reflected in JWT claims

我目前正在测试 SWIA 实施,并在授权流程中发现了一些与范围相关的有趣行为。

我现在面临的情况是:

  1. 用户首次通过移动应用程序或网站的 SWIA 功能使用 his/her Apple Id 登录 没有电子邮件范围
  2. 用户将在没有电子邮件声明的情况下被授予 JWT 如预期的那样
  3. 后来,我们更改为为授权过程添加电子邮件范围。
  4. 用户(来自 #1)再次登录,并通过 SWIA 电子邮件范围
  5. 用户将在没有电子邮件声明的情况下被授予 JWT
  6. 除非用户从他们的 Apple ID 门户(或在移动应用程序中)手动取消对应用程序的授权,否则更新的范围将不会反映

它也以相反的方式发生(即第一个请求有电子邮件范围,然后删除电子邮件范围。这仍然会授予 JWT 电子邮件声明

这是Apple OIDC 服务器的预期结果吗?还是我做错了什么?我已经用本机 iOS SWIA 和网络客户端对其进行了测试,两者都产生了相同的结果。

不太确定这是否符合 OIDC 规范。

任何见解或帮助将不胜感激。

我知道这是一个迟到的回复,使用 Apple 登录不提供对用户范围的增量更改。如果一些获得初始范围授权的用户在他按照 here https://support.apple.com/en-us/HT210426 所述撤销我们的应用程序之前无法获得。这意味着新添加的范围,仅影响新授权的用户,并将在其身份令牌中包含电子邮件声明(并在授权响应的初始用户主体)。

此外,上述步骤不会显示撤销应用程序的选项,直到至少发生一个应用程序登录并且该应用程序应该处于生产状态而不是沙盒或测试状态。

应用程序未显示,因为没有为 email/name 请求的应用程序

如果从生产应用程序登录成功就会出现