版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 区域代理商招募预算函(3篇)
- 首批货款支付注意事项提醒(7篇范文)
- 2026年中山市三乡镇颐老院公开招聘护理员1人考试参考题库及答案详解
- 修水县投资集团有限公司及所属企业2026年公开招聘【19人】考试模拟试题及答案详解
- 四川省夹金山国有林保护局有限公司2026年度公开招聘工作人员(25人)笔试备考题库及答案详解
- 2026年重庆市大足区事业单位面向应届毕业公费师范生、公费医学生考核招聘58人笔试模拟试题及答案详解
- 2026济宁鱼台县县属国有企业公开招聘工作人员(9人)考试参考题库及答案详解
- 2026年固镇县连城镇公开选聘村级后备人才23人笔试备考题库及答案详解
- 2026年云南迪庆白马雪山高山冰缘生态系统野外科学观测研究站招聘工作人员1人笔试参考题库及答案详解
- 网络攻击后数据恢复策略
- 2026下半年陕西渭南市事业单位招聘工作人员599名易考易错模拟试题(共500题)试卷后附参考答案
- 2026学年河南省永城市六年级数学期末自测重点试卷(附答案)详细答案和解析
- 2026年乒乓球裁判证试题(附答案)
- 眉山市2026年医务社会工作服务岗招募(26人)笔试模拟试题及答案详解
- 2025年江苏二级造价师考试《建设工程计量与计价实务(安装工程)》真题及答案
- 2025年设备监理师《设备工程质量管理与检验》真题及答案解析
- 2026年lvmh的测试题及答案
- 华为任职资格体系(6版)
- 第9课《木兰诗》课件- 统编版语文七年级下册
- 《化工企业安全生产与电气仪表管》课件-专题3-1 防爆电气基础与管理
- 2026年移动式压力容器充装R2作业证考试练习题库含答案
评论
0/150
提交评论