`
wangchuanyin
  • 浏览: 31302 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

oauth

 
阅读更多
在认证和授权的过程中涉及的三方包括:
1、服务提供方,用户使用服务提供方来存储受保护的资源,如照片,视频,联系人列表。
2、用户,存放在服务提供方的受保护的资源的拥有者。
3、客户端,要访问服务提供方资源的第三方应用,通常是网站,如提供照片打印服务的网站。在认证过程之前,客户端要向服务提供者申请客户端标识。

使用OAuth进行认证和授权的过程如下所示:
1、用户访问客户端的网站,想操作用户存放在服务提供方的资源。
2、客户端向服务提供方请求一个临时令牌。
3、服务提供方验证客户端的身份后,授予一个临时令牌。
4、客户端获得临时令牌后,将用户引导至服务提供方的授权页面请求用户授权。在这个过程中将临时令牌和客户端的回调连接发送给服务提供方。
5、用户在服务提供方的网页上输入用户名和密码,然后授权该客户端访问所请求的资源。
6、授权成功后,服务提供方引导用户返回客户端的网页。
7、客户端根据临时令牌从服务提供方那里获取访问令牌。
8、服务提供方根据临时令牌和用户的授权情况授予客户端访问令牌。
9、客户端使用获取的访问令牌访问存放在服务提供方上的受保护的资源。

三条腿的OAuth(3-Legged OAuth),这也是OAuth的标准版本。这里所谓的“三条腿”,指的是授权过程中涉及前面提到的三种角色,也就是:客户端,服务提供方,用户。不过有些情况下,不需要用户的参与,此时就产生了一个变体,被称作两条腿的OAuth(2-Legged OAuth),一般来说,访问私有数据的应用需要三条腿的OAuth,访问公共数据的应用需要两条腿的OAuth。
两条腿的OAuth和三条腿的OAuth相比,因为没有用户的参与,所以在流程中就不会涉及用户授权的环节,也就不需要使用Token,而主要是通 过Consumer Key和Consumer Secret来完成签名的,此时的Consumer Key和Consumer Secret基本等价于账号和密码的作用。
分享到:
评论

相关推荐

    Java的oauth2.0 服务端与客户端的实现 (完整源码、demo)

    Java的oauth2.0 服务端与客户端的实现.zip 封装了oauth2.0的基本架构和实现,对照我的博客http://blog.csdn.net/jing12062011/article/details/78147306使用该源码。 下载项目压缩包,解压,里面两个maven项目:...

    spring-security-oauth2-2.3.5.RELEASE-API文档-中文版.zip

    赠送jar包:spring-security-oauth2-2.3.5.RELEASE.jar; 赠送原API文档:spring-security-oauth2-2.3.5.RELEASE-javadoc.jar; 赠送源代码:spring-security-oauth2-2.3.5.RELEASE-sources.jar; 赠送Maven依赖信息...

    Spring Security oauth2

    #OAuth2-Defender ##主要技术 Maven Spring Boot Spring Security Spring Security OAuth2.0 MySQL ##修改数据库配置 修改defender-oauth2-authorization\src\main\resources\...

    微信OAuth2.0网页授权接口

    微信OAuth2.0网页授权接口 微信OAuth2.0网页授权接口的thinkphp实现版本,主要实现了oauth网页受权,以及部分其他接口。 使用方法 为什么用OAuth2.0受权? 通过OAuth2.0受权的网页将会获取到打开者的微信信息,...

    spring oauth2获取当前登录用户信息.docx

    使用spring oauth2框架做授权鉴定。想获取当前用户信息怎么办? 我们知道spring oauth2是基于spring security的实现的。 spring security可以通过SecurityContextHolder.getContext().getAuthentication()....

    基于Spring Boot+Spring Cloud+OAuth2的RBAC权限管理系统.zip

    基于 Spring Cloud Hoxton 、Spring Boot 2.2、 OAuth2 的RBAC权限管理系统 基于数据驱动视图的理念封装 Ant Design Vue,即使没有 vue 的使用经验也能快速上手 提供 lambda 、stream api 、webflux 的生产实践 ...

    Spring Security OAuth2.0学习笔记.zip

    Spring Security OAuth2.0学习笔记 什么是认证、授权、会话。 Java Servlet为支持http会话做了哪些事儿。 基于session认证机制的运作流程。 基于token认证机制的运作流程。 理解Spring Security的工作原理,Spring ...

    springboot+oltu.oauth2搭建oauth2环境

    springboot和apache的开源项目org.apache.oltu.oauth2组合搭建的oauth2环境,一般的oauth配置下就可以用了,但是我这个项目,是用原理上讲如何搭建oauth2,哪个controller转发到哪个controller,为什么这样,都有...

    qq OAuth登陆实例

    Web应用应该使用完整的OAuth来进行用户认证。桌面以及移动用户也应该使用OAuth。当然,桌面和移动应用也可以使用Basic Auth,一种简单的通过用户名密码的方式来进行认证的方式,具体的说明可以参见授权机制说明页面...

    基于Spring Boot 2.6、 Spring Cloud 2021 & Alibaba、 OAuth2 的权限管理系统

    系统说明:基于 Spring Cloud 2021 、Spring Boot 2.6、 OAuth2 的 RBAC 权限管理系统 基于数据驱动视图的理念封装 element-ui,即使没有 vue 的使用经验也能快速上手 提供对常见容器化支持 Docker、Kubernetes、...

    在SpringCloud 使用Security+Oauth2 时候再去使用fegin,发现出现401未授权

    我们在使用spring cloud时如果设置了oauth2授权模式,那么应用服务A再调用服务B时使用Feign请求会出现401授权认证的问题,那么解决办法就是在feign调用请求时获取到assessToken并设置到请求header中就可以解决这个...

    exmaple_google_oauth2_java.zip

    一套完整的 google drive 认证系统,可以根据以下命令编译运行: 将申请的Client ID和Client secrets加入到client_secrets.json cd . (当前源码根路径) mkdir bin ..." com.google.oauth2.Oauth2

    OAuth协议的PHP库.zip

    OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、...

    springboot集成oauth2.0

    springboot 集成oauth2.0服务器,基于oauth2.0授权码形式集成

    jmeter 实现oauth1.0授权认证

    目前线上资源较少关于jmeter实现oauth1.0请求的方法,系统接口通过Oauth1.0方式授权登录,通过jmeter自带beanshell插件解决认证授权问题 资源附带了脚本代码和实现步骤

    Odoo 企业微信(企业号)应用对接模块,实现Oauth2网页授权登录,自定义odoo业务消息推送

    Odoo 企业微信(企业号)应用对接模块,实现Oauth2网页授权登录,自定义odoo业务消息推送。 for odoo10, odoo11 特性 oauth登录与odoo用户登陆互不影响。 无需安装额外python模块依赖,开箱即用。 一键同步企业微信...

    微信扫一扫登录、微信支付、springsecurity&oauth2

    项目中使用到的技术包含SpringBoot、SpringSecurity&oauth2(安全资源和授权中心模式、包括登录接口自定义返回字段、自定义手机号+密码登录、自定义免密登录)、Queue队列、线程池、xss攻击配置、SpringCache、Mybatis...

    OAuth2.0协议中文版.pdf

    OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废止了OAuth1.0)。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用...

    簡單易懂的 OAuth 2.0

    利用 OAuth 2 通訊協定,可以實作出 API 的存取管制,讓 API 得知要操作的對象 user 是誰,並且讓你做出像 Facebook 登入那樣子的登入流程。然而 OAuth 2.0 的 spec 根本就是個 [tl;dr] 的東西,但沒讀過 spec 也沒...

    oauth20源代码

    oauth20源代码 服务端与客户端

Global site tag (gtag.js) - Google Analytics