`
ssxxjjii
  • 浏览: 950748 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OAuth是什么

阅读更多

OAuth协议致力于使网站和应用程序(统称为消费方)能够在无须用户透露其认证证书的情况下,通过API访问某个web服务(统称为服务提供方)的受保护资源。更一般地说,OAuth为API认证提供了一个可自由实现且通用的方法。

一个典型的例子是某打印服务提供商printer.example.com(消费方),希望在无须用户提供其照片存储站点密码的情况下,访问用户储存在photos.example.net(服务提供方)上的个人照片。

 

OAuth协议致力于使网站和应用程序(统称为消费方)能够在无须用户透露其认证证书的情况下,通过API访问某个web服务(统称为服务提供方)的受保护资源。更一般地说,OAuth为API认证提供了一个可自由实现且通用的方法。

在运行OAuth的web例子的时候,遇到问题的总结。

1、下载源代码

svn co http://oauth.googlecode.com/svn/code/java/ oauth-java

2、将core和example中的oauth-provider和webapp分别作为java项目导入eclipse中。   

core是一个项目   
oauth-provider是一个项目   
web是一个项目

3、将core作为一个jar从eclipse中导出,oAuth-core.jar

4、将oauth-provider以provider目录名部署到tomcat中

5、将webapp以web目录名部署到tomcat中

6、启动tomcat

7、访问 http://localhost/provider/  provider正常工作

8、访问http://localhost/web/index.jsp web正常工作

9、点击"Sample Provider",控制台提示错误信息为“java.security.NoSuchAlgorithmException: Algorithm HmacSHA1 not available”

10、修改 consumer.properties

原来的内容:sample.serviceProvider.baseURL: http://localhost:9090/oauth-provider/
修改后内容:sample.serviceProvider.baseURL: http://localhost/provider/ 
新增加一行:sample.consumer.oauth_signature_method: PLAINTEXT

oAuth目前支持HMAC_SHA1、PLAINTEXT、RSA_SHA1算法

验证的过程分别验证以下几部分内容:
oauth_token token
oauth_timestamp 
oauth_signature 
oauth_signature_method 
oauth_consumer_key 

--------------------------------------

从高层次来看,OAuth按以下方式工作:

  1. 你的站点已与不同的webmail服务供应商建立了关系。
  2. 你共享一个密码短语或者公钥,这样你就能使用它访问web联系人。
  3. 你根据webmail服务供应商将用户重定向到登录页面。
  4. 该用户登录然后告诉webmail服务供应商你的站点访问其地址薄是没问题的。

 

Ryan Heaton已经实现了针对Spring security的OAuthhttp://spring-security-oauth.codehaus.org/

支持OAuth的站点包括Twitter、Ma.gnolia与Google(你可以在这里看到关于Alpha版的帖子)。

 

-------------------------

豆瓣API OAuth认证

http://www.douban.com/service/apidoc/auth

分享到:
评论
1 楼 fire_wang 2011-02-15  
将core作为一个jar从eclipse中导出,oAuth-core.jar
打包打不了,请教

相关推荐

    Spring security oauth源码

    Spring Security OAuth 是一个用于保护RESTful Web服务的框架,它为OAuth 1.0a和OAuth 2.0协议提供了全面的支持。在这个源码中,我们可能会看到如何将Spring Security与OAuth结合,以构建安全的Web应用程序和服务。...

    jmeter 实现oauth1.0授权认证

    在本文中,我们将深入探讨如何使用Apache JMeter进行OAuth 1.0授权认证。OAuth 1.0是一种授权协议,允许第三方应用安全地访问用户在另一服务上的资源,而无需获得用户的用户名和密码。JMeter是一款强大的性能测试...

    Shiro集成OAuth2

    Apache Shiro是一个强大的Java安全框架,它提供了身份验证、授权、会话管理和加密等功能,而OAuth2则是一种开放标准,用于授权第三方应用访问用户资源。将Shiro与OAuth2集成,可以实现更灵活的安全控制,特别是在...

    完整Oauth 2.0实现实例

    OAuth 2.0 是一种广泛使用的授权框架,它允许第三方应用在用户许可的情况下访问其私有资源。在本文中,我们将深入探讨 OAuth 2.0 的核心概念,并结合 Java 实现来理解其工作原理。 OAuth 2.0 主要分为四个角色:...

    oauth核心jar包

    OAuth2是OAuth协议的最新版本,它解决了OAuth1的一些复杂性和安全性问题。在这个"oauth核心jar包"中,包含了OAuth2框架的关键组件,用于构建客户端和服务端的应用。 首先,`oauth2.resourceserver`这个标签可能指的...

    oauth-signpost开源项目

    OAuth Signpost是一个专门为Java开发者设计的开源库,它简化了OAuth协议的实现,使得开发者能够更轻松地在自己的应用程序中集成OAuth授权功能。OAuth是一种开放标准,主要用于安全地授权第三方应用访问用户存储在另...

    cas3.5.0集成oauth2.0协议

    **OAuth2.0协议概述** OAuth2.0是一种授权框架,允许第三方应用在用户许可的情况下,访问特定资源。它主要用于安全地实现用户数据的共享,比如社交媒体登录、云存储服务等。OAuth2.0的核心是将用户的授权过程与实际...

    阮一峰_理解OAuth 2.01

    OAuth 2.0 是一种广泛使用的开放网络标准,旨在解决应用程序获取用户授权访问特定资源时的安全问题。在本文中,作者阮一峰详细解释了OAuth 2.0 的设计思路和工作流程,以便读者能够更好地理解和应用这一授权框架。 ...

    OAuth.2.in.Action.pdf

    《OAuth 2.0 实战》是一本深入探讨OAuth 2.0协议的专业书籍,它主要面向开发者和系统架构师,旨在帮助读者理解和实施OAuth 2.0授权框架,以安全地实现第三方应用的访问权限控制。OAuth 2.0是互联网上广泛采用的开放...

    php-oauth一个简单的oauth实现

    OAuth让应用开发者可以在不获取用户密码的情况下,为用户提供一种安全的方式去授权第三方应用访问他们的资源。在PHP中实现OAuth,我们可以使用一些现有的库,例如这个例子中的"php-oauth"。 在PHP中实现OAuth,我们...

    oauth20源代码

    OAuth 2.0 是一种广泛使用的开放网络授权协议,它允许第三方应用安全地访问用户存储在其他服务上的数据,而无需获取用户的登录凭据。这个压缩包文件包含的是 OAuth 2.0 的服务端和客户端的源代码,这对于理解OAuth ...

    OAuth2.0 使用到的jar包

    OAuth2.0是一种广泛应用于各种在线服务的授权框架,它允许第三方应用安全地访问用户的受保护资源,而无需用户直接共享他们的登录凭证。在Java环境中实现OAuth2.0,通常会依赖于一些特定的jar包。这些jar包包含了处理...

    djangooauthtoolkit为Django用户准备的OAuth2

    【标题】:“djangooauthtoolkit为Django用户准备的OAuth2”是指一个名为“django-oauth-toolkit”的Python库,它专门用于在Django框架中实现OAuth2协议,帮助开发者为他们的Web应用添加安全的身份验证和授权功能。...

    oauth_signpost

    OAuth Signpost是一个针对OAuth协议的Java库,它简化了OAuth认证流程,使得开发者在Java应用中集成OAuth服务变得更加便捷。OAuth是一种授权框架,允许第三方应用在用户授权的情况下访问其存储在另一服务提供者上的...

    oauth jersey实现例子

    在这个"oauth jersey实现例子"中,我们将探讨如何结合OAuth和Jersey构建安全的RESTful API。 首先,OAuth的核心概念包括资源所有者(Resource Owner)、客户端(Client)、授权服务器(Authorization Server)和...

    OAuth2.0协议中文版

    OAuth 2.0 协议中文译本共分为九大部分,分别介绍了 OAuth 2.0 协议的背景知识、术语中英对照表、OAuth 2.0 协议的中文译本、OAuth 2.0 协议的工作流程、OAuth 2.0 协议的安全机制、OAuth 2.0 协议的优点、OAuth 2.0...

    spring-security-oauth2源码

    Spring Security OAuth2 是一个强大的框架,用于为Java应用提供OAuth2和OpenID Connect安全功能。OAuth2是一个授权框架,允许第三方应用在用户许可的情况下访问其受保护的资源,而OpenID Connect则是在OAuth2之上...

Global site tag (gtag.js) - Google Analytics