Django配置Apple Signin后提示Social Network Failure错误如何解决
Apple Signin 报错修复方案
配置错误修正
你当前settings.py中的苹果登录配置存在字段映射错误,修正后的配置如下:
SOCIALACCOUNT_PROVIDERS = { "apple": { "APP": { # Services ID,该配置项无需修改 "client_id": "com.test.web", # 替换为苹果开发者账号的Team ID(10位大写字符,不能填写自定义字符串) "secret": "替换为你的10位Team ID", # Sign in with Apple 密钥对应的10位Key ID "key": "CCCDDDFAKE", "certificate_key": """-----BEGIN PRIVATE KEY----- 替换为苹果开发者后台下载的p8文件完整私钥内容 -----END PRIVATE KEY-----""" } } }
必选配置检查
- 苹果开发者后台对应Services ID的Return URLs列表中,必须添加回调地址
https://testssite.com/accounts/apple/login/callback,否则苹果会直接拒绝回调请求 settings.py必须添加配置SITE_ID = 1,同时进入Django管理后台的「站点」管理页,将默认站点的域名修改为你实际的服务域名testssite.com- 确认
certificate_key字段的内容是p8文件的完整内容,没有遗漏或多余的换行、空格
问题排查方法
- 开启allauth的DEBUG日志查看具体错误,在
settings.py中添加以下日志配置:
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console': { 'class': 'logging.StreamHandler', }, }, 'loggers': { 'allauth': { 'handlers': ['console'], 'level': 'DEBUG', 'propagate': True, }, }, }
- 升级依赖到最新稳定版,避免版本兼容问题:
pip install --upgrade django-allauth dj-rest-auth
内容的提问来源于stack exchange,提问作者sander
相关产品推荐
相关产品推荐

