关于oauth的一些想法

honpey honpey     2023-03-11     218

关键词:

是自己把互联网想得太简单了,想着这些网站的注册就按照上学时候那种用户名注册就好了,但是实际情况是可以使用第三方的验证机制,我可以是用weibo登录,使用weibo登录的话,你在微博上登录自己的username/passwd,然后weibo会返回给你一个token,这个token是个很重要的参数,然后就是通过这个token可以访问限定的资源,通过这个token,可以访问微博开放出来的一些东西,比如你自己发送出来的数据,受限的数据;

这件事情对weibo是好事,weibo更可以实现互联网大航母的构想,真正做大大中台,是整个互联网的大中台,这套API甚至允许用户使用weibo的数据等内容;

OAuth是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。

OAuth 允许用户提供一个令牌,而不是用户名和密码来访问他们在weibo上的资源

没有涉及到安全密钥的信息,更安全,更灵活;oauth提供了一种代表资源拥有者访问资源的方法,用访问许可交换访问令牌,包括许可的作用域,许可时间和其他的属性,客户端通过向资源服务器出示访问令牌来访问受保护的资源,

oauth在客户端和服务提供商之间提供了一个授权层,

====================

(A)用户打开客户端以后,客户端要求用户给予授权。

(B)用户同意给予客户端授权。

(C)客户端使用上一步获得的授权,向认证服务器申请令牌。

(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。

(E)客户端使用令牌,向资源服务器申请获取资源。

(F)资源服务器确认令牌无误,同意向客户端开放资源。

B是关键,即用户怎样才能给于客户端授权。有了这个授权以后,客户端就可以获取令牌,进而凭令牌获取资源。

====================

客户端必须获得用户的授权才能获得令牌

下面是我在酒仙网上使用,其实是有一个重定向的链接,然后有这了这个token之后,服务器会把这个token给保存下来

https://openapi.baidu.com/oauth/2.0/authorize?response_type=code&redirect_uri=https%3A%2F%2Flogin.jiuxian.com%2Funion%2Fcall_back.htm%3Funion%3Dbaidutuan&state=2b1314eaf70e8c6ffc77565d4382974b&client_id=msbqkzYYrefxUDkUu9vBQ4O3

linux操作系统及常见命令

login:     用户名:用户ID(操作系统中不同的文件给不同的用户会赋予不同的权限)认证机制:authentication (识别某个人就是他所声称的那个人)授权:authorization审计... 查看详情

html常用标签

...head></head>:标识HTML文档头部区域<body></body>:标识HTML文档主体区域示例:<html><head>  <meta charset="utf-8">  <title>无标题文档<... 查看详情

深度学习-机器视觉学习路线

...CNN2、平台Tensorflow\Caffe\Pytorch3、分析工具python及相应的依赖库 numpy pandas matplotlib scipy4、前沿知识关注GAN、迁移学习等5、开源数据集应用coco、voc、k... 查看详情

linux操作系统基础2

...r interface图形化用户接口CLI接口:command-line interface 命令行用户界面     命令提示符:prompt,bash(shell)!!!让人输入命令的人机交互接口     ... 查看详情

13.01python语言基础(元类)(代码片段)

python中的类,类同样是一种对象,只要使用关键字class,python解释器执行的时候就会创建一个对象class Test(object):  passtest = Test()print(te... 查看详情

vue+vuex+axios从webpack-server获取模拟数据存入vuex并取回展示到页面

...eated中提交dispatch,然后通过action调用一个封装好的axios然后再触发mutation来提交状 查看详情

再理一下prerouting和postrouting等插入点

这些地方的准确翻译是hook点(hook点是一个土的说法,学名叫rule chain,规则链)这些规则链是内核netfilter架构布置在内核里面的,然后iptables是利用了这套基础架构,想起了内... 查看详情

php观

...作。如:收集表单数据、生成动态网页或者发送/接收Cookies。2、命令行脚本可以编写一个脚本,并且不需要任何服务器或浏览器来运行它,通过这种方式,仅仅只需要php解析器来执行。这种用法对于依赖cro... 查看详情

css3-动画(animation)

具有以下属性1;animation-name自定义动画名称2:animation-duration动画指定需要多岁秒或者毫秒完成,默认值是0;3:animation-timing-function 动... 查看详情

usernamespace2

...c/<PID>/uid_map 想着直接把一个进程的uid设置成root,这样他就可以在自己的usernamespace中为所欲为了echo是成功了,但是进程在 touch文件时,创建的文件在ns里看是root的,等到退出来,发... 查看详情

struts2+spring+hibernate框架技术与项目实战pdf分享下载

链接:https://pan.baidu.com/s/1-nWJkmTIEaLFSYzuZECxYA      0htc     查看详情

kvm竟然抓不到kvm的tracepoint

今天终于把kvm给搭起来了,打开了host机的tracepoint竟然一个都没有抓到,这是咋回事?难道kvm的东西只有在启动的时候才会被抓到?虚拟出来一块内存一块CPU,虚拟出来一个内存。感觉都好geek的东西呀。到底是怎么虚... 查看详情

把最近这些安全的问题整理一下

...中包括用户的数据,其中http的headers和body都是数据,然后所谓的token等都是http的内容,然后就ssl/tls的内容,这部分应该说是对http透明的,是在传输数据之前的加密层,是为了保证在h... 查看详情

hadoop单机

...很多不全,有的有点乱,本人Ubuntu小白,Hadoop初学者,根据别人的资料和我自己安装的经验介绍它的单机模式安装方法,欢迎拍砖。 部分资料翻译自http://www.michael-noll.com/tutorials/runnin 查看详情

全角半角字符对照表(代码片段)

...角字符对照表aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzzAABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ11223344556677889900``”"’‘“"‘‘__--... 查看详情

python语言基础(使用type函数创建带有属性的类)(代码片段)

type接受一个字典来定义类的属性tppe('类名',(),{"name":"张三"}) type创建有内容的类Test01=type("Test01",(),"name":"hello","age":18)print(Test01)print(Test01())print(Test01().name)print(Test01().age)#输出结果... 查看详情

关于junit4初次尝试

使用JUnit进行测试,先建立一个项目,然后写一个简单的测试类我这里写的是计算器类写完这个类右键新建有个JUnit 实例下一步勾选自己的测试的方法  .之后用assertEqueal方法进行测试是否与... 查看详情

appium环境搭建及app配合rf自动化的操作步骤

在用APPIUM做APP自动化测试过程中,首先碰到的问题就是环境搭建.过程相对于WEB端自动化来说,搭建过程稍微复杂些,但是appium与WEB端的selenium原理相差不多.二者在robotframework自动化框架中,共用了很多API关... 查看详情