OAuth(3)Sample Provider Implementation in JAVA_第1页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、oauth(3)sample provider implementation in javaoauth(3)sample prover implementation in javathe servelts for request_token, access_token, authorize and resources:accesstokenhttprequesthandler.java:package com.silly.easyoauthprovider.servlets;import java.io.ioexception;import java.io.outputseam;import

2、javax.servlet.servletexception;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;import net.oauth.oauth;import net.oauth.oauthaccessor;import net.oauth.oauthmessage;import net.oauth.oauthproblemexception;import net.oauth.oauthvalidator;import net.oauth.server

3、.oauthservlet;import org.springframework.web.httprequesthandler;import com.sillycat.easyoauthprovider.plugins.oauth.oauthprovider;public class accesstokenhttprequesthandler implements httprequesthandler private oauthprovider oauthprovider; private oauthvalidator oauthvalidator; public void oauthprov

4、ider(oauthprovider oauthprovider) this.oauthprovider = oauthprovider; public void setoauthvalidator(oauthvalidator oauthvalidator) this.oauthvalidator = oauthvalidator; public void handlerequest(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception processreq

5、uest(request, response); public void processrequest(httpservletrequest request, httpservletresponse response) throws ioexception, servletexception try oauthmessage requestmessage = oauthservlet .getmessage(request, null); oauthaccessor accessor = oauthprovider.getaccessor(requestmessage); oauthvalid

6、ator.valimessage(requestmessage, accessor); / make re token is authoriz if (!boolean.true.equa(accessor.getproperty(authorized) oauthproblemexception problem = new oauthproblemexception( peission_denied); throw problem; / generate access token and secret oauthprovider.generateaccesstoken(accessor);

7、response.setcontenttype(tt/plain); outputstream out = response.getoutputstream(); oauth.formeode(oauth.newlist(oauth_token, accessor.accesstoken, oauth_token_secret, accessor.tokensecret), out); out.close(); catch (exception e) e.printstacktrace(); authorizationhttprequesthandler.java:package com.si

8、llycat.easyoauthprovider.servlets;import java.io.ioexception;import java.io.printwriter;import javax.servlet.servletexception;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;import net.oauth.oauth;import net.oauth.oauthaccessor;import net.oauth.oauthmessage

9、;import net.oauth.server.oauthservlet;import org.springframework.web.httprequesthandler;import com.sillycat.easyoauthprovider.model.user;import com.sillycat.easyoauthprovider.plugins.oauth.oauthprovider;public class authorizationhttprequesthandler implements httprequesthandler private oauthprovider

10、oauthprovider; public void setoauthprovider(oauthprovider oauthprovider) this.oauthprovider = oauthprovider; public void handlerequest(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception if (get.equals(request.getmethod() try oauthmessage requestmessage = o

11、authservlet.getmessage(request,null); oauthaccessor accessor = oauthprovider.getaccessor(requestmessage); if (boolean.true.equals(accessor.getproperty(authorized) / already authorized send the user back returntoconsumer(request, response, accessor); else sendtoauthorizepage(request, response, access

12、or); catch (exception e) e.printstacktrace(); else if (post.equals(request.getmethod() try oauthmessage requestmessage = oauthservlet.getmessage(request,null); oauthaccessor accessor = oauthprovider.getaccessor(requestmessage); string userid = request.getparameter(userid); string userpwd = request.g

13、etparameter(userpwd); if (userid = null | userpwd = null) sendtoauthorizepage(request, response, accessor); /if the userid is not equal to password if(!userid.equalsignorecase(userpwd) sendtoauthorizepage(request, response, accessor); user user = new user(); user.setusername(userid); user.setuserpas

14、sword(userpwd); user.setemailaress(userid + ); / set userid in accessor and mark it as authorized oauthprovider.markasauthorized(accessor, user); returntoconsumer(request, response, accessor); catch (exception e) e.printstacktrace(); private void sendtoauthorizepage(httpservletrequest request, https

15、ervletresponse response, oauthaccessor accessor) throws ioexception, servletexception string callback = request.getparameter(oauth_callback); if (callback = null | callback.length() = 0) callback = none; string consumer_description = (string) accessor.consumer.getproperty(description); request.setat

16、tribute(cons_desc, consumer_description); request.setattribute(callback, callback); request.setattribute(token, accessor.requesttoken); request.getrequestdiser / (/authorize.jsp).forward(request, response); private void returntoconsumer(httpservletrequest request, httpservletresponse response, oauth

17、accessor accessor) throws ioexception, servletexception / send the user back to sites callbackurl string callback = request.getparameter(oauth_callback); if (none.equals(callback) accessor.consumer.callbackurl != null accessor.consumer.callbackurl.length() 0) / first check if we have something in ou

18、r properties callback = accessor.consumer.callbackurl; if (none.equals(callback) / no call back it must be a client response.setcontenttype(text/plain); printwriter out = response.getwriter(); out.print(you have successfully authorized + accessor.consumer.getproperty(description) + . please close th

19、is browser window and click continue + in the client.); out.close(); else / if callback is not pas in, use the callback from config if (callback = null | callback.length() = 0) callback = accessor.consumer.callbackurl; string token = accessor.requesttoken; if (token != null) callback = oauth.addpara

20、meters(callback, oauth_token, token, oauth.oauth_verifier, true); response.setstatus(httpservletresponse.sc_moved_temporarily); response.setheader(location, callback); requesttokenhttprequesthandler.java:package com.sillycat.easyoauthprovider.servlets;import java.io.ioexception;import java.io.output

21、stream;import javax.servlet.servletexception;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;import net.oauth.oauth;import net.oauth.oauthaccessor;import net.oauth.oauthconsumer;import net.oauth.oauthmessage;import net.oauth.oauthvalidator;import net.oauth.

22、server.oauthservlet;import org.springframework.web.httprequesthandler;import com.sillycat.easyoauthprovider.plugins.oauth.oauthprovider;public class requesttokenhttprequesthandler implements httprequesthandler private oauthprovider oauthprovider; private oauthvalidator oauthvalidator; public void se

23、toauthprovider(oauthprovider oauthprovider) this.oauthprovider = oauthprovider; public void setoauthvalidator(oauthvalidator oauthvalidator) this.oauthvalidator = oauthvalidator; public void handlerequest(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception

24、processrequest(request, response); public void processrequest(httpservletrequest request, httpservletresponse response) throws ioexception, servletexception try oauthmessage requestmessage = oauthservlet.getmessage(request, null); oauthconsumer consumer = oauthprovider.getconsumer(requestmessage); o

25、authaccessor accessor = new oauthaccessor(consumer); oauthvalidator.validatemessage(requestmessage, accessor); / support the variable accessor secret extension / described in string secret = requestmessage.getparameter(oauth_accessor_secret); if (secret != null) accessor.setproperty(oauthconsumer.ac

26、cessor_secret, secret); / generate request_token and secret oauthprovider.generaterequesttoken(accessor); response.setcontenttype(text/plain); outputstream out = response.getoutputstream();oauth.formencode(oauth.newlist(oauth_token,accessor.requesttoken, oauth_token_secret,accessor.tokensecret), out

27、); out.close(); catch (exception e) e.printstacktrace(); userhttprequesthandler.java:package com.sillycat.easyoauthprovider.servlets;import java.io.ioexception;import java.io.printwriter;import javax.servlet.servletexception;import javax.servlet.http.httpservletrequest;import javax.servlet.http.http

28、servletresponse;import net.oauth.oauthaccessor;import net.oauth.oauthmessage;import net.oauth.oauthvalidator;import net.oauth.server.oauthservlet;import org.springframework.web.httprequesthandler;import com.sillycat.easyoauthprovider.model.user;import com.sillycat.easyoauthprovider.plugins.oauth.oauthprovider;public class userhttpr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论