|
|
|
|
@ -1,25 +1,49 @@
|
|
|
|
|
# 导入Django的URL路径配置工具和当前应用的视图函数/类
|
|
|
|
|
from django.urls import path
|
|
|
|
|
|
|
|
|
|
from . import views
|
|
|
|
|
|
|
|
|
|
# 定义应用的命名空间为"oauth",用于在模板或视图中通过"命名空间:URL名称"的方式反向解析URL
|
|
|
|
|
app_name = "oauth"
|
|
|
|
|
|
|
|
|
|
# 配置当前应用的URL路由列表,每个path对应一个视图处理逻辑
|
|
|
|
|
urlpatterns = [
|
|
|
|
|
# 1. OAuth授权回调处理URL
|
|
|
|
|
# 路径:/oauth/authorize(第三方平台授权后会跳转到该地址)
|
|
|
|
|
# 由views.authorize视图函数处理(负责解析授权码、获取用户信息、绑定本地用户等)
|
|
|
|
|
path(
|
|
|
|
|
r'oauth/authorize',
|
|
|
|
|
views.authorize),
|
|
|
|
|
|
|
|
|
|
# 2. 补充邮箱页面URL(命名为"require_email")
|
|
|
|
|
# 路径:/oauth/requireemail/[oauthid].html([oauthid]为OAuthUser的ID,整数类型)
|
|
|
|
|
# 由views.RequireEmailView类视图的as_view()方法处理(用于第三方登录无邮箱时,让用户补充邮箱)
|
|
|
|
|
path(
|
|
|
|
|
r'oauth/requireemail/<int:oauthid>.html',
|
|
|
|
|
views.RequireEmailView.as_view(),
|
|
|
|
|
name='require_email'),
|
|
|
|
|
|
|
|
|
|
# 3. 邮箱验证URL(命名为"email_confirm")
|
|
|
|
|
# 路径:/oauth/emailconfirm/[id]/[sign].html([id]为OAuthUser的ID,[sign]为验证签名)
|
|
|
|
|
# 由views.emailconfirm视图函数处理(验证邮箱归属,完成本地用户绑定)
|
|
|
|
|
path(
|
|
|
|
|
r'oauth/emailconfirm/<int:id>/<sign>.html',
|
|
|
|
|
views.emailconfirm,
|
|
|
|
|
name='email_confirm'),
|
|
|
|
|
|
|
|
|
|
# 4. 绑定成功页面URL(命名为"bindsuccess")
|
|
|
|
|
# 路径:/oauth/bindsuccess/[oauthid].html([oauthid]为OAuthUser的ID)
|
|
|
|
|
# 由views.bindsuccess视图函数处理(展示第三方登录与本地用户绑定成功的结果)
|
|
|
|
|
path(
|
|
|
|
|
r'oauth/bindsuccess/<int:oauthid>.html',
|
|
|
|
|
views.bindsuccess,
|
|
|
|
|
name='bindsuccess'),
|
|
|
|
|
|
|
|
|
|
# 5. OAuth登录入口URL(命名为"oauthlogin")
|
|
|
|
|
# 路径:/oauth/oauthlogin(前端点击第三方登录按钮时跳转到该地址)
|
|
|
|
|
# 由views.oauthlogin视图函数处理(生成第三方平台的授权链接,引导用户跳转授权)
|
|
|
|
|
path(
|
|
|
|
|
r'oauth/oauthlogin',
|
|
|
|
|
views.oauthlogin,
|
|
|
|
|
name='oauthlogin')]
|
|
|
|
|
name='oauthlogin')
|
|
|
|
|
]
|