zoukankan      html  css  js  c++  java
  • django第三方登录与邮箱验证流程

    jwt的组成第一部分我们称它为头部(header),第二部分我们称其为载荷(payload, 类似于飞机上承载的物品),第三部分是签证(signature)

    注册

    用户向网站发送微博注册的请求

    网站向用户返回微博登录的页面

    用户在微博登录的界面向微博的服务器发送微博用户名和密码发起登录的请求

    微博服务器认证成功之后将用户引导到回调的网址中,并返回给用户微博服务器的token值

    用户重定向到页面并携带了微博服务器发送的token

    后端接收到token后向微博服务器请求access token

    微博服务器返回access token

    服务器通过access token来向微博服务器来获取用户的openid

    通过id来查询用户是否已经注册

    用户已经注册直接返回用户的access token值

    用户没有账号,生成注册的access token,(载荷openid)重新注册信息发送给后端

    后端接收到数据之后创建对象并将微博用户的openid和账号进行绑定

    个人信息

    个人信息是用户的私有信息,必须是登录用户才可以访问,并且值可以访问自己的相关信息

    用户个人信息的展示流程
    前端在页面被加载完成之后向后端发送请求用户数据
    后端通过rest_framework.permissions.IsAuthenticated判断用户是否登录,并获取用户的user模型
    将用户的详细信息返回给前端,在前端进行展示
    用户个人中心的信息中有一项是用户的邮箱是否激活

    邮箱验证的流程

    用户填入邮箱点击保存后端接收到邮箱后异步发出邮件,链接中包含access token(载荷user id& email)
    邮件中包含token值,在用户点击邮件中的链接之后向前端发送激活的请求
    后端验证access token合法性,DRF中的序列化器update的方法,在序列化器中create方法中将用户的email字段更改为激活状态
    将用户的对象返回给前端

  • 相关阅读:
    全表扫描
    服务器信息表
    事务的丢失更新
    oracle core 概述
    oracle命中率模型计算
    性能量化之cpu
    一个sql导致temp表空间爆掉
    oracle稳定执行计划1
    oracle热点表online rename
    oracle构建一致性读
  • 原文地址:https://www.cnblogs.com/chuanxi/p/10172090.html
Copyright © 2011-2022 走看看