OAuth授权协议(共3篇)
OAuth授权协议 篇1
1 引言
OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。OAuth是开放的,任何第三方都可以使用OAuth认证服务, 任何服务提供商都可以实现自身的OAuth认证服务。OAuth是安全的, 该协议允许第三方应用在用户授权的前提下访问在用户在服务商那里存储的各种资源信息, 而这种授权无需将用户的用户名和密码提供给该第三方应用。
OAuth协议已经由1.0版发展到2.0版 , OAuth2.0使用更简单, 适用范围更广, 同时为Web应用、桌面应用和移动应用等提供专门的认证流程, 已经成为主流。互联网中大行其道的第 三方登录 , 基础原理 就是OAuth协议 , 国外Google、Facebook, 国内QQ、人人网、 新浪微博、搜狐微博等都提供了第三方登录服务, 众多的论坛、电商、社交网站, 都集成了这些第三方登录的功能。
2 典型流程
OAuth2.0为了支持不同类型的第三方应用 , 提供了多种授权类型 , 如授权码(Authorization Code Grant)、隐式授 权(Implicit Grant)、RO凭证授权 (Resource Owner Password Credentials Grant)、Client凭证授权 (Client Credentials Grant) 。旨在讨论认证授权的实现方案, 帮助用户理解OAuth协议, 所以选择其中最核心、最难理解、也是最广泛使用的一种授权模式———“授权码”, 进行深入的研究探讨。
设想一个论坛需要使用QQ提供的第三方登录功能的场景, 根据OAuth2.0的官方文档, 其认证、授权的完整流程如图1所示。
认证、授权过程的详细说明如下:
(1) 第三方应用请求资源所有者的授权。授权验证界面以及验证逻辑是是资源所有者提供的, 用户的账号和密码并没有提供给第三方应用。请求中一般要包含: 第三方应用的身份标识、授权类型、回调地址、申请权限范围、 状态等信息。
(2) 如果用户通过认证 ( 或者已经认证过 ) 则使用第三方应用提供的回调地址, 将授权码、状态 (如果客户端包含这个参数, 资源所有者要将这个参数原样返回) 反馈给第三方应用。
(3) 第三方应用携带授权码 , 到授权服务器申请访问令牌。请求中需要包含: 第三应用身份标识、密钥, 以及授权模式、授权码、回调地址等信息。
(4) 授权服务 器检查授 权码、第 三方用户 身份 , 如通过, 通过回调地址发放访问令牌, 以及访问令牌的过期时间等信息。
(5) 第三方应用携带访问令牌 , 到资源服务器申请相应的资源, 如用户的Open ID、用户名、头像、联系人等。
(6) 如果访问令牌有效 , 资源服务 器返回相 应的资源 。一般情况下, 获取到用户的Open ID后, 需要在论坛系统中生成一个对应的自有用户, 与Open ID绑定。
3 认证授权实现要点
集成QQ、人人网、新浪微博等公司提供的第三方登录功能, 只开发相应于图1中第三方应用的功能, 比较容易实现,其网站上都有详细的技术文档, 但如何时实现认证授权服务,资料和技术方案相对较少, 但认证授权服务器端开发也有很广泛的需求, 如公司内部多个系统间整合, 实现用户资源共享、避免重复注册登录等。
OAuth2.0的开源解决方案不是很多 , 目前Java语言较为成熟的是Apache的Oltu, 其前身是amber, 现在改名为Oltu,由Apache来更新维护。文档比较少是开源软件的通病, 这在Oltu项目上体现得尤为明显 , 其官方网站上只有短短的几行说明文字 , 以及几段 示例代码 。通过仔 细地研究 分析OAuth2.0协议、官方提供的测试代码 , 基本完成了第三方登录的认证授权服务器端算法, 下面针对其中的关键步骤进行说明。
根据认证 授权流程 , 分别使用3个Servlet: Res Owner Servlet ( 资源所有 者 ) 、Authorize Servlet ( 授权服务 器 ) 、Res Servlet (资源服务器 ) 来模拟实现相关的处理。
3.1 资源所有者
当收到第三方应用的认证申请时, 资源所有者引导用户进入用户名、密码输入界面, 用户提交信息验证通过后, 发放授权码。用户验证、发放授权码的关键代码如下:
3.2 授权服务器
当第三方应用通过认证获取到授权码之后, 携带授权码向授权服务器申请访问令牌, 授权服务器对授权码、第三方应用的身份进行验证, 如通过, 则发放访问令牌, 需要注意的是, 安全起见不要通过GET方式传递相关数据, 最好通过HTTPS协议。关键代码如下 :
3.3 资源服务器
当第三方应用获取到访问令牌后, 携带访问令牌向资源服务器申请相关的资源, 示例代码中以JSON格式返回用户ID及用户名, 第三方应用拿到用户信息后, 完成登录操作 (首次登录时, 需绑定用户)。关键代码如下:
4 安全分析
如果资源所有者认证用户身份通过后, 直接发放访问令牌, 省略流程中的 (2) 和 (3), 是不是协议更加简洁高效?究其原因是, 有以下的安全考虑:(1) 用户提供的回调地址是一个不太安全的信道, 不适合传递访问令牌这样的敏感数据, 访问令牌可能会被一些非法的监听程序获取;(2) 申请访问令牌时, 会验证第三方应用的身份, 可确保只有第三方应用才能使用授权码换到访问令牌。
第三方应用向资源所有者申请验证时, 需要提供一个状态参数 (即state), 注意第三方应用应该使用动态数据来生成这个参数, 并在资源所有者返回授权码时, 验证这个 参数 ,不然会存在SCRF (跨站请求伪造) 漏洞。
5 结语
OAuth2.0是目前国际通用的授权方式 , 其特点是认证与授权流程简单、安全, 且支持Web应用、桌面应用以及移动应用等多种类型, 在互联网中得到了广泛的应用。给出基于Apache的Oltu实现OAuth2.0认证授权的技术方案 , 对于类似开发有直接的指导借鉴意义。
摘要:分析了OAuth2.0“授权码”认证授权模式的详细流程,给出了Java编程实现认证授权服务的关键代码,并对使用中需注意的安全问题进行了分析。
关键词:OAuth2.0协议,Oltu项目,第三方登录,认证,授权
OAuth授权协议 篇2
代理人(下称“代理人”):
身份证号码:
居住地:
联系电话:
电子邮件:
被授权方(下称“乙方”):
地址:
联系电话:
电子邮件:
鉴于乙方欲将甲方享有著作权的文学作品《 》(下称“作品”)改编并以音频制品形式(下称“改编作品”)进行发布和传播,现甲乙双方经友好协商,就甲方授权该作品之部分著作权有关事宜,达成如下协议:
一、作品的内容
1、 作品名称:《
2、作品原作者:(笔名:)
3、 发布信息:
4、 作品字数:万
二、授权的权利种类及范围
1、 甲方授权乙方在全球范围内独家享有授权的著作权包括作品音像形式的改编权(即将上述作品授权乙方或乙方指定的人自行改变为有声读物的权利);信息网络传播权;复制权;发行权;出租权;转授权;表演权及改名权等著作权权利。
2、 授权对象:乙方及其乙方旗下网站—酷听网()
3、 授权的期限:自协议签字之日起共计年,自 年月日起至年月 日。
4、乙方及其旗下网站依法对改编作品享有包括但不限于许可他人复制、发行、出租、通过信息网络向公众传播并获得报酬的权利,对改编作品享有完整的著作权。
5、 乙方获得该作品的改编权后,为适应声音艺术形式的需要,在不违背作者原意的前提下,有权对上述授权作品进行适当增删;乙方保证在进行节目制作时,为原作者署名。乙方如需聘请甲方根据乙方的要求修改作品,具体事宜届时由甲乙双方另行协商。
6、 双方同意本协议期满之后,乙方享有作品的非专有使用权。
7、 录音制品由乙方所在地完成,即乙方所在地为合同履行地。
三、授权费的数额及支付的方式
1、 该作品授权费共计人民币元整(¥元)。
2、 支付时间:自本协议签订之日起30个工作日内,乙方一次性付清全款。
3、 双方同意采用银行转账的方式付款,甲方提供如下汇款账户内容:
(1) 账户名称:2) 开户银行:
(3) 账 号:4。 甲方收款后须向乙方出具收款证明,包括但不限于收条、收据、发票等。
四、作品及其他证明文件的交付
1、 交付材料:权属证明资料(详见附件二《权属证明资料清单》);作品最终电子版(WORD或TXT格式);授权委托书。
2、 交付日期:
(1) 甲方应于签署本协议的同时,向乙方提供协议附件清单中所列的文件。
(2) 甲方应于签署本协议的三日内,向乙方提供作品的最终电子版文档。
(3) 为甲乙双方合作内容保密需要,在本协议签署的同时甲方应根据本协议约定范围向
乙方出具授权书(附件一)。
五、甲方的保证责任
1、若甲方为作品的作者,则甲方系独自创作,同时甲方独自合法享有所授权的一切专有权。若乙方为作品的著作权人,甲方保证持有该书著作权的真实性与合法性,能独自授权本协议中涉及到的权利。
2、 该作品不含有任何侵犯他人版权的内容,不包含任何中伤他人的内容,也不包含任何违反中国法律法规的内容,否则甲方将自行承担一切由此引起的法律责任,并赔偿乙方的损失。
3、 独家授权的,甲方保证所授权的权利未同时授权给任何第三方;也未曾作为抵押财产或其他财产转移给任何第三方,也未曾作为礼物赠与任何第三方。
4、 独家授权的,在本协议有效期内,甲方未经乙方同意对上述所列各项专有权,不得向任何第三方授权。
5、 本协议若系甲方之代理人代为签署,代为承诺、保证;代理人应保证其被授权的合法、有效,并按本协议约定,履行职责。
六、乙方对该作品修改权的范围限制
1、 甲方同意乙方为改编录音作品目的而改动作品的题目、部分情节和对白等。
2、乙方使用该书仅用于该书内容的声音版,未经甲方许可不得做其他艺术样式的改编。
七、宣传及权利保护
1、 甲方须在其网站、微博、播客等宣传渠道链接乙方网站网址;
2、 乙方对改编作品进行宣传需要甲方配合的其他事宜双方根据当时情形另行约定。
3、 乙方有权以自己的名义对任何侵犯授权作品本协议授权范围内著作权的行为采取维权措施,并根据需要要求侵权方停止侵权行为,公开赔礼道歉赔偿损失等,可以以自己的名义提起诉讼,行使包括上述权利在内的一切权利。
八、违约责任
1、 甲方或其代理人在规定的时间内未交付稿件和证明文件、违反本协议规定的保证责任的,乙方有权解除合同,并追究甲方相当于本协议标的总额三倍费用的违约责任,若因此给乙方造成损失的,应赔偿损失。
2、 在本协议有效期间,甲方如授权第三方以与乙方相同的方式使用作品,将本合同授予乙方的权利以与乙方相同的方式再授予任何第三方,甲方应向乙方承担相当于本协议标的总额三倍费用的违约责任。
3、 甲方或代理人违反本协议其他规定的,应承担相当于本协议标的总额三倍费用的违约责任并赔偿乙方因此遭受的相关损失。
4、由于战争、地震、水灾、火灾、疫情等其他不可抗力原因而不能履行本协议或延迟履行本协议的一方可不负有违约的责任,但应立即以可行的方式通知对方,并及时向对方提供有权机关出具的证明书。
九、其他
1、 本协议期满两个月内,甲乙双方享有根据本协议条款内容与对方优先续约的权利。
2、 甲方、乙方和代理人对本协议的内容负有保密义务,未经对方书面许可,任何一方不可将本协议内容披露给第三方。
3、 双方联系人信息详见本协议首页,双方联系人如有变更须书面通知对方,其他未尽事宜由甲乙双方另行协商解决。
4、 本协议一经签订,即为不可撤销,甲方对乙方的授权也不可撤销;关于撤销或终止本协议的事宜,依照本协议约定,或由甲乙双方另行协商达成一致的书面意见。
5、 本协议所发生的争议,应先经甲乙双方友好协商解决,解决不成时,任何一方均可向北京市朝阳区人民法院提起诉讼。
6、 本协议一式两份,甲、乙双方各执一份具有同等法律效力,自甲、乙双方签字盖章之日起生效。
甲方: 乙方:
甲方之代理人:代表人:
授权协议书 篇3
加盟方: 身份证号:
经双方协商,就龙岩市新罗区东肖镇“泉州洪濑黑果鸡爪”经销点授权事宜达成如下协议:
一、授权方将其所持有龙岩市新罗区东肖镇“泉州洪濑黑果鸡爪”经销点依法授权给加盟方。
二、加盟方同意接受授权龙岩市新罗区东肖镇“泉州洪濑黑果鸡爪”。
三、加盟方一次性支付授权方授权价格为人民币 元。加盟方在本协议签订之日即 年 月 日向授权方以现金形成一次性支付授权费 元整。授权方不得再向加盟方索取任何其他费用。
四、经销点授权成功后,授权方不再享有店铺持有权利,店铺持有人为加盟方。
五、该经销点为授权方所有之后,因经营引起的.债权债务一切法律责任均全部由加盟方承担,与授权方无关。
六、授权成功后,授权方不能以经销前持有人身份收加店铺,如中途收回店铺导致影响店铺正常营业及所造成损失均由授权方以实际损失进行 倍赔偿。
七、授权成功后,授权方必须保证加盟方接手后的6个月内不会因为协议签订之日前销售记录受到任何处罚。因协议签订日之前销售记录而影响店铺正常营业,授权方必须全额退款加盟 元。
八、授权方与龙岩 “泉州洪濑黑果鸡爪”总代理签订的加盟协议,由本协议生效起,由加盟方享有加盟权利及履行义务。
九、本协议和授权方与龙岩 “泉州洪濑黑果鸡爪”总代理签订的加盟协议期限同步,在协议到期后,加盟方具有优先无条件续签的权力,并由加盟方与龙岩“泉州洪濑黑果鸡爪”总代理直接签订加盟协议书,无需再次缴纳加盟费,继续经营龙岩市新罗区东肖镇“泉州洪濑黑果鸡爪”经销点。
十、本协议一式两份,经双方签字后生效。按手印、签字、身份证复印件互换。附授权方与龙岩“泉州洪濑黑果鸡爪”总代理签订的加盟协议书。
授权方(签字): 联系电话:
地址:
加盟方(签字): 联系电话:
地址: