OAuth协议简介

⒈OAuth协议要解决的问题

  如果我们的系统通过用户的密码来访问用户存储在第三方系统上的用户数据的话,对于我们来说是非常有利的,因为我们可以利用大数据来进行杀熟。而对于用户来说,是非常可怕的,你可能听说过冠希哥,还可能融过你男朋友的符文(当然,现在已经没有了符文系统)。

  对于用户来说有以下隐患

    1.我们的系统可以借助用户密码来访问用户存储在第三方系统上的所有用户数据。

    2.只有用户修改密码,才能终结这种授权关系。(当你修改密码后,不仅仅我们的系统取消了授权,其它的授权系统也统统取消了)

    3.用户的密码泄露的可能性大大的降低了。(没错,我的表密码是明文的,别人拿到就可以去撞库,请叫我雷锋)

  而我们使用OAuth协议就可以解决包含上面问题的问题了,OAuth的核心概念,令牌(Token),你有皇上口谕也不能进,除非你有令牌。

  令牌中声明了可访问用户数据的区域

  令牌中声明了该令牌的有效期

  令牌不等价于密码

⒉OAuth协议中的授权模式

  1.授权码模式(authorization code):功能最完整,流程最严密,几乎所有的全都是采用授权码模式来完成OAuth流程的

    在交互的过程中,将会产生授权码,在其它的模式中是没有授权码的,这个模式有两个主要的特点。

      1.用户同意授权的这个动作是在认证服务器上完成的,而密码模式及客户端模式这个同意授权的动作是在第三方应用上完成的,是有伪造授权的风险的。

      2.授权码模式是需要第三方应用的后台利用授权码去认证服务器换取令牌,安全性要比简化模式这种直接把令牌发送给浏览器要高。

  2.密码模式(resource owner password credentials)

  3.简化模式(implicit)

  4.客户端模式(client credentials)

  

  

 

    

 

作者:奇

出处:https://www.cnblogs.com/fanqisoft/p/10638202.html

版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。

posted @   SpringCore  阅读(349)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示