慕课网Badguy老师的良心课程!

总会有那种什么都不想干的时候,但现在的日子又不这么允许个人的放纵,我一般就只有这几个选择:看课程视频,看书,看小说。。好像还是有可以做的事情。其中,看课程视频有点无聊一般,而且还得老子动手写代码。。找个好老师不错,嗯,最近跟着badguy学习吧~

做做笔记

1、关于OAuth

全称Open Authorization,开放协议;

是一个PHP实现第三方登录的协议;

具体实现就简化为三大步骤;

但我个人是这么记录的:

2、登陆前

需要到“签订”该协议的网站进行申请/注册(打算实现第三方登录的网站,比如慕课网到qq申请);

得到网站唯一的client_id,以及client_secret;

3、登陆时

用户点击“其他登陆”——》(三大步骤之第一步)网站向QQ OAuth服务器发请求,Request Token URL,请求服务地址,如下所示

https://graph.qq.com/oauth/...

client_id=100490398&...

redirect_uri=http%3A%2F%2Fpassport.mukewang.com%...

首先有个oauth标识,然后是client_id,然后是redirect_uri重新定向地址,也就是返回地址;

——》(第二步)用户看到第三方登陆界面,进行信息输入;这里会根据用户输入生成code,用户看不到,后台直接生成了;

——》(第三步)QQ auth服务器返回状态给网站,安全起见有一个User authorization URL,这里会有code,client_id,client_secret信息进行验证,同时code也有生命周期(很短,可能就5s);

4、登陆后

除了实现第三方登录,OAuth还允许授权后的网站进行一些功能,比如qq的一键发空间之类的,这时候就有AccessToken(令牌),生命周期一般为7天吧;没有了了的话,可以重新登陆申请,也有RefreshToken,会自动刷新令牌;

5、其他

关于开放,即可以指对内部的开放——比如淘宝一个号,支付宝什么的阿里系列都可以用;

对外部——比如腾讯账号到处插。。

最后一图

后续接着学习QQ登陆,weibo登陆啦~

------------5min后的更新--------------

火丁笔记这个写的也不错,通俗易懂,有图有例,5min看完。

OAuth协议——PHP第三方登陆协议的更多相关文章

  1. 集成基于OAuth协议的单点登陆

    在之前的一篇文章中,我们已经介绍了如何为一个应用添加对CAS协议的支持,进而使得我们的应用可以与所有基于CAS协议的单点登陆服务通讯.但是现在的单点登陆服务实际上并不全是通过实现CAS协议来完成的.例 ...

  2. 集成基于CAS协议的单点登陆

    相信大家对单点登陆(SSO,Single Sign On)这个名词并不感到陌生吧?简单地说,单点登陆允许多个应用使用同一个登陆服务.一旦一个用户登陆了一个支持单点登陆的应用,那么在进入其它使用同一单点 ...

  3. Telnet协议详解(远程登陆协议)

    1. 概述 Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议.Telnet协议的目的是提供一个相对通用的,双向的,面向八位字节的通信方法,允许界面终端设备和面向终 ...

  4. sau交流学习社区第三方登陆github--oauth来实现用户登录

    sau交流学习社区第三方登陆github--oauth来实现用户登录 最近在丰富nodejsBlog开发的“交流学习社区”(https://www.mwcxs.top)的其他功能以及修复一些bug. ...

  5. 第三方登陆--QQ登陆

    从零玩转第三方QQ登陆 在真正开始对接之前,我们先来聊一聊后台的方案设计.既然是对接第三方登录,那就免不了如何将用户信息保存.首先需要明确一点的是,用户在第三方登录成功之后, 我们能拿到的仅仅是一个代 ...

  6. 第三方登陆--QQ登陆--单体应用

    从零玩转第三方QQ登陆 下面有源码 前后端分离版本 一样的思路 https://www.cnblogs.com/Yangbuyi/p/13194007.html 第三方GITEE登陆 https:// ...

  7. QQ,微信第三方登陆

    感觉越是大公司的SDK越不好用,其实我也是一直在想为什么他们拿那么高的工资却干着不相应的事儿. 下面说下QQ和微信第三方登陆的一点坑 首先 (QQ互联)自带的sdk中  一个文件工程没有调用产生关联错 ...

  8. ShareSDK第三方登陆 (IOS)

    1.http://www.mob.com/ 注册申请 2.http://www.mob.com/#/download SDK下载  (简洁版:http://www.mob.com/#/download ...

  9. django 中 Oauth2 实现第三方登陆

    django 中 Oauth2 实现第三方登陆 python网站第三方登录,social-auth-app-django模块, social-auth-app-django模块是专门用于Django的 ...

随机推荐

  1. Web 上传图片加水印

    上传图片加水印 需要使用控件FileUpload 上传按钮Image控件展示上传的图片,页面中拖入三个控件 <form id="form1" runat="serv ...

  2. css3 翻转和旋转的区别

    我以前一直以为旋转跟翻转一样,今日自己旋转了好久都发觉跟翻转差一点点,纠结了十几分钟才明白,只能怪自己的立体感太差了. css3中的transform中有旋转,放缩,倾斜,平移的功能,分别对应的属性是 ...

  3. Verilog学习笔记基本语法篇(十一)········ 常用系统函数

    1)系统任务:$monitor   格式: $monitor(p1,p2,p3...pn); $monitor; $monitoron; $monitoroff; 任务$monitor提供了监控输出列 ...

  4. ASP对XML的增、删、改、查

    首先看一下xml文件 text.xml 'encoding使用gb2312中文,如果要用英文则用utf-8 <?xml version="1.0" encoding=&quo ...

  5. angular单元测试与自动化UI测试实践

    关于本文:介绍通过karma与jsmine框架对angular开发的应用程序进行单元与E2E测试. angular单元测试与集成测试实践 先决条件 创建项目 webstorm中创建空白web项目 创建 ...

  6. 三道简单的前端HTML/CSS题目

    使用CSS为多个网页进行相同风格的布局和外观设置时,为了方便对这些网页进行修改,最好使用( ).http://hovertree.com/shortanswer/bjae/7bd72acca32068 ...

  7. [原][C#][winForm]分级基金折溢价WinForm网络计算器

    分级基金折溢价WinForm网络计算器 通过子/母基金代码,从 [ 东方财富网,天天基金网,新浪 ] 抓取分级基金的子母基金数据(代码,名称,净值,价格), 并计算出子基金(A基金,B基金)以及母基金 ...

  8. Docker的4种网络模式

    我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: · host模式,使用--net=host指定. · container ...

  9. UITextField的代理方法:textField:shouldChangeCharactersInRange:replacementString

    原文链接:http://www.cnblogs.com/zhanggui/p/6101813.html 这个我在开发的过程中用到的次数最多,因此这里就简单对其进行分析.先看看Command+点击 弹出 ...

  10. iOS 用 SDWebImage 清理图片缓存

    效果图如下: 1.找到 SDWebImage找到SDImageCache类 2.添加如下方法 - (float)checkTmpSize { ; NSDirectoryEnumerator *file ...