因已有App ID无法为AWS Cognito配置Apple登录Service ID
解决AWS Cognito配置Apple登录时的App ID/Service ID冲突问题
方案一:直接复用现有App ID配置
既然你的App ID已经在App Store上线无法删除,完全可以直接用这个App ID来配置Apple登录,无需新建Service ID:
- 登录Apple开发者后台,进入Certificates, IDs, & Profiles
- 左侧选择Identifiers,找到已存在的
com.myTeamName.myAppNameApp ID,点击进入详情页 - 在Capabilities区域找到Sign In with Apple,勾选启用
- 如果是iOS/macOS原生App,选择Enable as Primary App ID即可
- 保存配置后,若为原生App,记得重新生成对应的Provisioning Profile
- 回到AWS Cognito用户池配置Apple身份提供商:
- Client ID填写你的App ID:
com.myTeamName.myAppName - Team ID填写你Apple开发者账户的Team ID
- Key ID和Private Key需要在Apple后台的Keys板块新建一个带「Sign In with Apple」权限的密钥,下载p8文件后配置到Cognito
- 回调URL填写Cognito提供的地址,例如
https://your-user-pool-domain.auth.region.amazoncognito.com/oauth2/idpresponse
- Client ID填写你的App ID:
方案二:创建不同标识的Service ID
如果不想使用主App ID,可以创建一个标识符不同的Service ID,比如com.myTeamName.myAppName.auth:
- 在Apple开发者后台Identifiers页面,下拉选择Service IDs,点击**+**新建
- 描述随意填写(比如"My App Apple Login Service"),标识符填写与现有App ID不同的字符串,例如
com.myTeamName.myAppName.auth - 勾选Sign In with Apple,点击Configure
- 在Primary App ID下拉菜单中选择已有的
com.myTeamName.myAppName,将这个Service ID关联到主App - 填写你的域名(如有需要)和Return URLs,也就是Cognito的回调地址
- 在Primary App ID下拉菜单中选择已有的
- 保存并激活这个Service ID,然后在Cognito中用这个Service ID作为Client ID完成配置
错误原因说明
- Apple不允许App ID和Service ID使用完全相同的标识符,且你的App ID已在App Store上线,因此无法删除也无法用同名创建Service ID
- Apple登录支持两种配置方式:原生App使用App ID,Web/后端服务使用Service ID,二者选其一即可完成Cognito的集成
内容的提问来源于stack exchange,提问作者user42195
相关产品推荐
相关产品推荐

