版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年信息报道试题及答案解析
- 2025-2030中国金银花提取物行业发展分析及发展趋势预测与投资风险研究报告
- 2026中国甲基磺隆行业供需状况及投资前景预测报告
- 山东潍坊市教育局招聘2026届山东省公费师范毕业生82人备考题库含答案详解(突破训练)
- 2026年清华公卫专硕试题及答案
- 2026江苏凤凰出版传媒集团有限公司数字化技术首席招聘4人备考题库及答案详解(有一套)
- 2026年flash认证考试试题
- 2026广西百色市西林县地方志编纂服务中心招聘编外聘用人员1人备考题库附答案详解(模拟题)
- 2026新疆巴音郭勒州库尔勒市国有资产经营有限公司所属子公司招聘15人备考题库含答案详解(b卷)
- 2026春季江西纳米克热电电子股份有限公司校园招聘1人备考题库附答案详解(基础题)
- (二模)拉萨市2026届高三第二次联考文科综合试卷(含答案)
- 2026中国邮政储蓄银行黑龙江省分行春季校园招聘考试参考试题及答案解析
- 2026云南省投资控股集团有限公司集中招聘笔试参考题库及答案解析
- 2026高考作文高频话题预测(附热点话题)
- (2026年)甲状腺功能减退症基层诊疗指南
- 53条化工和危险化学品生产经营企业重大生产安全事故隐患判定准则解读培训课件
- 2026年安全生产风险预防与应对培训试卷及答案
- (陕西二模)2026年陕西省高三高考适应性检测(二)英语试卷(含答案详解)+听力音频
- 2026年南通醋酸纤维有限公司招聘(30人)笔试备考题库及答案解析
- 人教版(2026)三年级下册美术第三单元第1课《皮影的生命力》课件
- 2026年国际对外汉语考试题库及答案
评论
0/150
提交评论