from django.urls import path

from . import views

# 定义应用命名空间，用于URL反向解析时区分不同应用的URL
app_name = "oauth"

# OAuth认证模块的URL配置
urlpatterns = [
    # OAuth授权回调端点
    # 第三方平台授权成功后回调此URL
    path(
        r'oauth/authorize',
        views.authorize),

    # 邮箱补充页面
    # 当OAuth用户没有邮箱时需要补充邮箱信息
    # oauthid: OAuth用户ID
    path(
        r'oauth/requireemail/<int:oauthid>.html',
        views.RequireEmailView.as_view(),
        name='require_email'),

    # 邮箱确认端点
    # 验证用户邮箱的确认链接
    # id: 用户ID, sign: 安全签名
    path(
        r'oauth/emailconfirm/<int:id>/<sign>.html',
        views.emailconfirm,
        name='email_confirm'),

    # 绑定成功页面
    # OAuth账号绑定成功后的展示页面
    # oauthid: OAuth用户ID
    path(
        r'oauth/bindsuccess/<int:oauthid>.html',
        views.bindsuccess,
        name='bindsuccess'),

    # OAuth登录入口
    # 发起第三方登录请求的端点
    path(
        r'oauth/oauthlogin',
        views.oauthlogin,
        name='oauthlogin')
]