Your SlideShare is downloading. ×
Oauth协议介绍
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Oauth协议介绍

2,155

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,155
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. OAuth授权协议简介 ichinihachi@gmail.com 2010.06.10
  • 2. Part1. 什么是OAuth 什么是OAuthOAuth的概念OAuthOAuth的概念OAuthOAuth的概念OAuth (Open Authorization)是一个开放的协议标准。它允许用户授权第三方网站/应用访问服务器上属于用户的私有资源,而不向第三方泄露用户名和密码。据官方的举例,它相当于一种临时性的钥匙,停车场服务人员可以使用这种临时性的钥匙来停车。但是,这种临时性的钥匙有一定限制: 不能开远了,不能打开后备箱等。
  • 3. Part1. 什么是OAuth 什么是OAuthOAuth的特点OAuthOAuth的概念OAuthOAuth的概念1、简单:不管是 OAuth 服务提供者还是应用开发者,都很容易理解与使用。2、安全:使用过程中不泄露资源用户的信息(用户名,密码)3、开放:任何服务提供者都可以实现 OAuth,任何应用开发者都可以使用 OAuth。
  • 4. Part1. 什么是OAuth 什么是OAuthOAuth的现状OAuthOAuth的概念OAuthOAuth的概念目前,有大量网站支持OAuth的认证。国外的如Google、Yahoo、Twitter,国内的如豆瓣。OAuth 1.0协议已在2010年4月被认可成为RFC5849。该协议被发现存在漏洞,随后的1.0a版本解决了这一问题。下一代OAuth协议是2.0版本,它不是向后兼容的。
  • 5. Part2. OAuth的原理 OAuth的原理OAuth协议的参与者OAuthOAuth的概念OAuthOAuth的概念OAuth Service Provider:资源的管理者,在User的授权下允许第三方使用User的私有资源。 通常是传统的服务提供者。OAuth Consumer:即第三方,以User代理人的身份使用User的私有资源。User:资源的拥有者,资源使用的授权者。
  • 6. Part2. OAuth的原理 OAuth的原理
  • 7. 0、Consumer预先从Service Provider处获得OAuth的使用许可。 Consumer预先从 预先从Service Provider处获得 OAuth的使用许可。 处获得OAuth
  • 8. 1、User指示Consumer去获取资源的使用权。 User指示 Consumer去获取资源的使用权。 指示Consumer
  • 9. 1、User指示Consumer去获取资源的使用权。 User指示 Consumer去获取资源的使用权。 指示Consumer img.ly,为twitter用户提供第三方的图片分享服务
  • 10. 2、Consumer访问Service Provider,取得未授权的Request Consumer访问 访问Service Provider,取得未授权的 ,取得未授权的RequestToken。Token。
  • 11. 3、Consumer把User重导向到Service Provider,附上未授权的 Consumer把 User重导向到 重导向到Service Provider,附上未授权的Request Token。 Token。
  • 12. 4、User同意Consumer使用资源,Request Token完成授权。 User同意 Consumer使用资源, 同意Consumer 使用资源,Request Token完成授权。
  • 13. 4、User同意Consumer使用资源,Request Token完成授权。 User同意 Consumer使用资源, 同意Consumer 使用资源,Request Token完成授权。 如果用户未登录,用户先需要正常登录,然后同意授权。
  • 14. 5、Service Provider把User重导向到Consumer,附上已授权的 Provider把 User重导向到 Consumer,附上已授权的 重导向到ConsumerRequest Token。 Token。
  • 15. 5、Service Provider把User重导向到Consumer,附上已授权的 Provider把 User重导向到 Consumer,附上已授权的 重导向到ConsumerRequest Token。 Token。
  • 16. 6、Consumer用已授权的Request Token换取Access Token Consumer用已授权的 用已授权的Request Token换取 换取Access
  • 17. 7、Consumer利用Access Token来访问用户的私有资源 Consumer利用 利用Access Token来访问用户的私有资源
  • 18. 7、Consumer利用Access Token来访问用户的私有资源 Consumer利用 利用Access Token来访问用户的私有资源
  • 19. 7、Consumer利用Access Token来访问用户的私有资源 Consumer利用 利用Access Token来访问用户的私有资源
  • 20. Part3. OAuth的问题 OAuth的问题当User因网络原因无法连接到Service Provider时,将不能通过Consumer来使用服务。如下图的一个第三方的Twitter网页客户端。
  • 21. 参考资料 Part 1 Part 1[1]官方网站:http://oauth.net/[2]ゼロから学ぶOAuth:http://gihyo.jp/dev/feature/01/oauth[3]维基百科:http://en.wikipedia.org/wiki/OAuth[4]http://blog.csdn.net/flyingamy/archive/2010/05/10/5575707.aspx[5]http://blog.joycode.com/ghj/archive/2009/12/24/115827.joy
  • 22. 谢谢!

×