不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • python基础

  • python模块

  • django

  • flask

  • SYL

    • day01

    • day02

    • day03

    • day04

    • day05

      • 00.作业
      • 01.微博三方登录原理讲解
      • 02.微博账号注册
      • 03.生成微博授权URL接口
        • 04.vue获取微博授权URL
        • 05.微博回调接口
        • 06.vue微博回调空页面
        • 07.绑定微博用户接口
        • 08.vue绑定用户页面
      • day06

      • day07

      • day08

      • day09

      • day10

      • day11

      • day12

    • Celery

    • 微服务

    • python
    • SYL
    • day05
    xiaonaiqiang
    2021-03-10
    目录

    03.生成微博授权URL接口

    # 1.创建apps/oauth模块进行oauth认证

    '''2.1 在apps文件夹下新建应用: oauth'''
    cd syl/apps
    python ../manage.py startapp oauth   # 切换到apps文件夹下执行创建命令
    
    '''2.2 添加子路由: oauth/urls.py'''
    from django.urls import path
    from . import views
    urlpatterns = [
    
    ]
    
    '''2.3 在syl/settings.py中添加应用'''
    INSTALLED_APPS = [
        'oauth.apps.OauthConfig',
    ]
    
    '''2.4 在syl/urls.py主路由中添加'''
    urlpatterns = [
        path('oauth/', include('oauth.urls')),
    ]
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20

    # 2.生成微博授权URL接口

    # 1.1 添加子路由: oauth/urls.py

    urlpatterns = [
        path('weibo/', views.WeiboUrl.as_view()),  # /oauth/weibo/ 返回微博登录地址
    ]
    
    1
    2
    3

    # 1.2 syl/settings.py中配微博地址

    WEIBO_CLIENT_ID = '3516473472'
    WEIBO_REDIRECT_URL = 'http://127.0.0.1:8888/oauth/callback/'
    
    1
    2

    # 1.3 视图函数: oauth/views.py

    from rest_framework.permissions import AllowAny
    from rest_framework.response import Response
    from rest_framework.views import APIView
    from urllib.parse import urlencode
    
    # 生成前端跳转到微博扫码页面的url
    class WeiboUrl(APIView):
        '''
            生成微博的登陆页面路由地址
            https://api.weibo.com/oauth2/authorize?       # 微博oauth认证地址
            client_id=4152203033&                         # 注册开发者id
            response_type=code&
            redirect_uri=http://127.0.0.1:8888/oauth/callback/     # 获取code后将code回调给后端地址
        '''
        # 自定义权限类
        permission_classes = (AllowAny,)
    
        def post(self, request):
            url = 'https://api.weibo.com/oauth2/authorize?'              # 微博授权的url地址
            data = {
                'client_id': '3516473472',                               # settings.WEIBO_CLIENT_ID
                'response_type': 'code',                                 
                'redirect_uri': 'http://127.0.0.1:8888/oauth/callback/',  # VUE的回调,微博后台授权的回调地址
            }
            weibo_url = url + urlencode(data)
            # https://api.weibo.com/oauth2/authorize?client_id=4152203033&response_type=code&redirect_uri=http://127.0.0.1:8000/api/weibo_back/
            # return Response({'weibo_url': weibo_url})
            return Response({'code': '0', 'msg': '成功', 'data': {'url': weibo_url}})
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    //请求
    https://api.weibo.com/oauth2/authorize?client_id=3516473472&redirect_uri=http://127.0.0.1:8888/oauth/callback/&response_type=code
    
    1
    2

    # 3.测试生成微博售前URL接口

    • 测试接口获取新浪微博地址

      • http://192.168.56.100:8888/oauth/weibo/
        
        1

    • 在浏览器访问返回地址即可回到新浪扫码界面
    https://api.weibo.com/oauth2/authorize?client_id=3516473472&response_type=code&redirect_uri=http%3A%2F%2F127.0.0.1%3A8080%2Fweibo_callback
    
    1

    上次更新: 2024/3/13 15:35:10
    02.微博账号注册
    04.vue获取微博授权URL

    ← 02.微博账号注册 04.vue获取微博授权URL→

    最近更新
    01
    04.数组双指针排序_子数组
    03-25
    02
    08.动态规划
    03-25
    03
    06.回溯算法
    03-25
    更多文章>
    Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式