django-social-auth新浪微博 怎么配置redirect_uri?
django-social-auth依赖于python-social-auth,使用源码里面的example跑了一下,并且加上新浪微博的backend,根据文档的写法需要有key,secret的配置,但是与新浪微博搞的时候有一个redirect_uri 没找到如何配置,如果不配就会出 error:redirect_uri_mismatch
SOCIAL_AUTH_WEIBO_KEY = '123592348'
SOCIAL_AUTH_WEIBO_SECRET = 'aa8626a4396ab90366e51292baeaeb1e'
请问这个redirect_uri应该如何配置?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Django项目中使用django-social-auth(实际上是python-social-auth)集成新浪微博OAuth认证时,redirect_uri
需要在你的应用后台以及Python设置文件中进行配置。
注册应用:首先你需要在新浪微博开发者平台注册一个应用,获取到APP Key
和App Secret
,这将对应于你的SOCIAL_AUTH_WEIBO_KEY
和SOCIAL_AUTH_WEIBO_SECRET
。
设置回调URL:在你创建的应用页面中,找到“高级信息”或者“OAuth2.0授权设置”部分,有一个“授权回调页”的输入框。这里你需要填入你的应用在用户授权后重定向的地址。这个URL应该指向你的Django应用中的一个视图,该视图负责处理从微博返回的授权码并完成后续的认证流程。例如,如果你的应用域名为example.com
,那么可能的回调URL是http://example.com/auth/complete/weibo/
。
在你的Django项目的settings.py
文件中,除了已经提到的Key和Secret之外,还需要确保python-social-auth
知道正确的回调URL。通常情况下,python-social-auth
会自动使用Django的site框架来确定回调URL,但你也可以显式地指定:
# settings.py
...
SOCIAL_AUTH_WEIBO_KEY = 'your_key_here'
SOCIAL_AUTH_WEIBO_SECRET = 'your_secret_here'
# 如果默认的回调URL不适用,可以这样显式设置
SOCIAL_AUTH_WEIBO_REDIRECT_URI = 'http://example.com/auth/complete/weibo/'
# 确保SITE_ID正确设置,如果使用默认回调URL的话
SITE_ID = 1 # 这里的数字应与你的Django Site模型中的ID匹配
请确保你在新浪微博开发者平台上设置的回调URL与你在Django设置中指定的完全一致,包括协议(http或https)、域名、路径等,否则会遇到redirect_uri_mismatch
错误。
最后,确保你的Django应用能够响应这个回调URL,并且相关的URL模式已经在urls.py
中定义好了。