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